nginx安装环境
nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++
会出现# yum 安装软件时出现 is this ok [y/d/n]
y下载安装
d只下载不安装
n不安装
PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
[root@Nigux ~]# yum install gcc-c++
已加载插件:fastestmirror, langpacks
/var/run/yum.pid 已被锁定,PID 为 9006 的另一个程序正在运行。
Another app is currently holding the yum lock; waiting for it to exit...
另一个应用程序是:PackageKit
内存: 51 M RSS (396 MB VSZ)
已启动: Sun Jul 28 01:05:14 2019 - 00:19之前
状态 :睡眠中,进程ID:9006
Another app is currently holding the yum lock; waiting for it to exit...
另一个应用程序是:PackageKit
内存: 51 M RSS (396 MB VSZ)
已启动: Sun Jul 28 01:05:14 2019 - 00:21之前
状态 :睡眠中,进程ID:9006
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
正在解决依赖关系
--> 正在检查事务
---> 软件包 gcc-c++.x86_64.0.4.8.5-36.el7_6.2 将被 安装
--> 正在处理依赖关系 libstdc++-devel = 4.8.5-36.el7_6.2,它被软件包 gcc-c++-4.8.5-36.el7_6.2.x86_64 需要
--> 正在处理依赖关系 libstdc++ = 4.8.5-36.el7_6.2,它被软件包 gcc-c++-4.8.5-36.el7_6.2.x86_64 需要
--> 正在处理依赖关系 gcc = 4.8.5-36.el7_6.2,它被软件包 gcc-c++-4.8.5-36.el7_6.2.x86_64 需要
--> 正在检查事务
---> 软件包 gcc.x86_64.0.4.8.5-36.el7_6.2 将被 安装
--> 正在处理依赖关系 libgomp = 4.8.5-36.el7_6.2,它被软件包 gcc-4.8.5-36.el7_6.2.x86_64 需要
--> 正在处理依赖关系 cpp = 4.8.5-36.el7_6.2,它被软件包 gcc-4.8.5-36.el7_6.2.x86_64 需要
--> 正在处理依赖关系 libgcc >= 4.8.5-36.el7_6.2,它被软件包 gcc-4.8.5-36.el7_6.2.x86_64 需要
--> 正在处理依赖关系 glibc-devel >= 2.2.90-12,它被软件包 gcc-4.8.5-36.el7_6.2.x86_64 需要
---> 软件包 libstdc++.x86_64.0.4.8.5-36.el7 将被 升级
---> 软件包 libstdc++.x86_64.0.4.8.5-36.el7_6.2 将被 更新
---> 软件包 libstdc++-devel.x86_64.0.4.8.5-36.el7_6.2 将被 安装
--> 正在检查事务
---> 软件包 cpp.x86_64.0.4.8.5-36.el7_6.2 将被 安装
---> 软件包 glibc-devel.x86_64.0.2.17-260.el7_6.6 将被 安装
--> 正在处理依赖关系 glibc-headers = 2.17-260.el7_6.6,它被软件包 glibc-devel-2.17-260.el7_6.6.x86_64 需要
--> 正在处理依赖关系 glibc = 2.17-260.el7_6.6,它被软件包 glibc-devel-2.17-260.el7_6.6.x86_64 需要
--> 正在处理依赖关系 glibc-headers,它被软件包 glibc-devel-2.17-260.el7_6.6.x86_64 需要
---> 软件包 libgcc.x86_64.0.4.8.5-36.el7 将被 升级
---> 软件包 libgcc.x86_64.0.4.8.5-36.el7_6.2 将被 更新
---> 软件包 libgomp.x86_64.0.4.8.5-36.el7 将被 升级
---> 软件包 libgomp.x86_64.0.4.8.5-36.el7_6.2 将被 更新
--> 正在检查事务
---> 软件包 glibc.x86_64.0.2.17-260.el7 将被 升级
--> 正在处理依赖关系 glibc = 2.17-260.el7,它被软件包 glibc-common-2.17-260.el7.x86_64 需要
---> 软件包 glibc.x86_64.0.2.17-260.el7_6.6 将被 更新
---> 软件包 glibc-headers.x86_64.0.2.17-260.el7_6.6 将被 安装
--> 正在处理依赖关系 kernel-headers >= 2.2.1,它被软件包 glibc-headers-2.17-260.el7_6.6.x86_64 需要
--> 正在处理依赖关系 kernel-headers,它被软件包 glibc-headers-2.17-260.el7_6.6.x86_64 需要
--> 正在检查事务
---> 软件包 glibc-common.x86_64.0.2.17-260.el7 将被 升级
---> 软件包 glibc-common.x86_64.0.2.17-260.el7_6.6 将被 更新
---> 软件包 kernel-headers.x86_64.0.3.10.0-957.21.3.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================
Package 架构 版本 源 大小
=======================================================================================
正在安装:
gcc-c++ x86_64 4.8.5-36.el7_6.2 updates 7.2 M
为依赖而安装:
cpp x86_64 4.8.5-36.el7_6.2 updates 5.9 M
gcc x86_64 4.8.5-36.el7_6.2 updates 16 M
glibc-devel x86_64 2.17-260.el7_6.6 updates 1.1 M
glibc-headers x86_64 2.17-260.el7_6.6 updates 684 k
kernel-headers x86_64 3.10.0-957.21.3.el7 updates 8.0 M
libstdc++-devel x86_64 4.8.5-36.el7_6.2 updates 1.5 M
为依赖而更新:
glibc x86_64 2.17-260.el7_6.6 updates 3.7 M
glibc-common x86_64 2.17-260.el7_6.6 updates 12 M
libgcc x86_64 4.8.5-36.el7_6.2 updates 102 k
libgomp x86_64 4.8.5-36.el7_6.2 updates 158 k
libstdc++ x86_64 4.8.5-36.el7_6.2 updates 305 k
事务概要
=======================================================================================
安装 1 软件包 (+6 依赖软件包)
升级 ( 5 依赖软件包)
总计:56 M
总下载量:41 M
Is this ok [y/d/N]: y
Downloading packages:
警告:/var/cache/yum/x86_64/7/updates/packages/cpp-4.8.5-36.el7_6.2.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
cpp-4.8.5-36.el7_6.2.x86_64.rpm 的公钥尚未安装
(1/7): cpp-4.8.5-36.el7_6.2.x86_64.rpm | 5.9 MB 00:00:04
(2/7): gcc-c++-4.8.5-36.el7_6.2.x86_64.rpm | 7.2 MB 00:00:02
(3/7): glibc-devel-2.17-260.el7_6.6.x86_64.rpm | 1.1 MB 00:00:00
(4/7): glibc-headers-2.17-260.el7_6.6.x86_64.rpm | 684 kB 00:00:00
(5/7): gcc-4.8.5-36.el7_6.2.x86_64.rpm | 16 MB 00:00:08
(6/7): libstdc++-devel-4.8.5-36.el7_6.2.x86_64.rpm | 1.5 MB 00:00:00
(7/7): kernel-headers-3.10.0-957.21.3.el7.x86_64.rpm | 8.0 MB 00:00:02
---------------------------------------------------------------------------------------
总计 4.0 MB/s | 41 MB 00:10
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
软件包 : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
是否继续?[y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : libgcc-4.8.5-36.el7_6.2.x86_64 1/17
正在更新 : glibc-common-2.17-260.el7_6.6.x86_64 2/17
正在更新 : glibc-2.17-260.el7_6.6.x86_64 3/17
正在更新 : libstdc++-4.8.5-36.el7_6.2.x86_64 4/17
正在安装 : libstdc++-devel-4.8.5-36.el7_6.2.x86_64 5/17
正在更新 : libgomp-4.8.5-36.el7_6.2.x86_64 6/17
正在安装 : cpp-4.8.5-36.el7_6.2.x86_64 7/17
正在安装 : kernel-headers-3.10.0-957.21.3.el7.x86_64 8/17
正在安装 : glibc-headers-2.17-260.el7_6.6.x86_64 9/17
正在安装 : glibc-devel-2.17-260.el7_6.6.x86_64 10/17
正在安装 : gcc-4.8.5-36.el7_6.2.x86_64 11/17
正在安装 : gcc-c++-4.8.5-36.el7_6.2.x86_64 12/17
清理 : libstdc++-4.8.5-36.el7.x86_64 13/17
清理 : libgomp-4.8.5-36.el7.x86_64 14/17
清理 : glibc-common-2.17-260.el7.x86_64 15/17
清理 : glibc-2.17-260.el7.x86_64 16/17
清理 : libgcc-4.8.5-36.el7.x86_64 17/17
验证中 : glibc-devel-2.17-260.el7_6.6.x86_64 1/17
验证中 : libstdc++-devel-4.8.5-36.el7_6.2.x86_64 2/17
验证中 : gcc-c++-4.8.5-36.el7_6.2.x86_64 3/17
验证中 : kernel-headers-3.10.0-957.21.3.el7.x86_64 4/17
验证中 : libgcc-4.8.5-36.el7_6.2.x86_64 5/17
验证中 : libgomp-4.8.5-36.el7_6.2.x86_64 6/17
验证中 : glibc-2.17-260.el7_6.6.x86_64 7/17
验证中 : cpp-4.8.5-36.el7_6.2.x86_64 8/17
验证中 : gcc-4.8.5-36.el7_6.2.x86_64 9/17
验证中 : glibc-headers-2.17-260.el7_6.6.x86_64 10/17
验证中 : glibc-common-2.17-260.el7_6.6.x86_64 11/17
验证中 : libstdc++-4.8.5-36.el7_6.2.x86_64 12/17
验证中 : glibc-common-2.17-260.el7.x86_64 13/17
验证中 : libgomp-4.8.5-36.el7.x86_64 14/17
验证中 : glibc-2.17-260.el7.x86_64 15/17
验证中 : libgcc-4.8.5-36.el7.x86_64 16/17
验证中 : libstdc++-4.8.5-36.el7.x86_64 17/17
已安装:
gcc-c++.x86_64 0:4.8.5-36.el7_6.2
作为依赖被安装:
cpp.x86_64 0:4.8.5-36.el7_6.2
gcc.x86_64 0:4.8.5-36.el7_6.2
glibc-devel.x86_64 0:2.17-260.el7_6.6
glibc-headers.x86_64 0:2.17-260.el7_6.6
kernel-headers.x86_64 0:3.10.0-957.21.3.el7
libstdc++-devel.x86_64 0:4.8.5-36.el7_6.2
作为依赖被升级:
glibc.x86_64 0:2.17-260.el7_6.6 glibc-common.x86_64 0:2.17-260.el7_6.6
libgcc.x86_64 0:4.8.5-36.el7_6.2 libgomp.x86_64 0:4.8.5-36.el7_6.2
libstdc++.x86_64 0:4.8.5-36.el7_6.2
完毕!
[root@Nigux ~]# yum install -y pcre pcre-devel
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
软件包 pcre-8.32-17.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 pcre-devel.x86_64.0.8.32-17.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================
Package 架构 版本 源 大小
=======================================================================================
正在安装:
pcre-devel x86_64 8.32-17.el7 base 480 k
事务概要
=======================================================================================
安装 1 软件包
总下载量:480 k
安装大小:1.4 M
Downloading packages:
pcre-devel-8.32-17.el7.x86_64.rpm | 480 kB 00:00:06
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : pcre-devel-8.32-17.el7.x86_64 1/1
验证中 : pcre-devel-8.32-17.el7.x86_64 1/1
已安装:
pcre-devel.x86_64 0:8.32-17.el7
完毕!
[root@Nigux ~]# yum install -y zlib zlib-devel
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
软件包 zlib-1.2.7-18.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 zlib-devel.x86_64.0.1.2.7-18.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================
Package 架构 版本 源 大小
=======================================================================================
正在安装:
zlib-devel x86_64 1.2.7-18.el7 base 50 k
事务概要
=======================================================================================
安装 1 软件包
总下载量:50 k
安装大小:132 k
Downloading packages:
zlib-devel-1.2.7-18.el7.x86_64.rpm | 50 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : zlib-devel-1.2.7-18.el7.x86_64 1/1
验证中 : zlib-devel-1.2.7-18.el7.x86_64 1/1
已安装:
zlib-devel.x86_64 0:1.2.7-18.el7
完毕!
[root@Nigux ~]# yum install -y openssl openssl-devel
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 openssl.x86_64.1.1.0.2k-16.el7 将被 升级
---> 软件包 openssl.x86_64.1.1.0.2k-16.el7_6.1 将被 更新
--> 正在处理依赖关系 openssl-libs(x86-64) = 1:1.0.2k-16.el7_6.1,它被软件包 1:openssl-1.0.2k-16.el7_6.1.x86_64 需要
---> 软件包 openssl-devel.x86_64.1.1.0.2k-16.el7_6.1 将被 安装
--> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 需要
--> 正在检查事务
---> 软件包 krb5-devel.x86_64.0.1.15.1-37.el7_6 将被 安装
--> 正在处理依赖关系 libkadm5(x86-64) = 1.15.1-37.el7_6,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 krb5-libs(x86-64) = 1.15.1-37.el7_6,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
---> 软件包 openssl-libs.x86_64.1.1.0.2k-16.el7 将被 升级
---> 软件包 openssl-libs.x86_64.1.1.0.2k-16.el7_6.1 将被 更新
--> 正在检查事务
---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
---> 软件包 krb5-libs.x86_64.0.1.15.1-34.el7 将被 升级
---> 软件包 krb5-libs.x86_64.0.1.15.1-37.el7_6 将被 更新
---> 软件包 libcom_err-devel.x86_64.0.1.42.9-13.el7 将被 安装
---> 软件包 libkadm5.x86_64.0.1.15.1-37.el7_6 将被 安装
---> 软件包 libselinux-devel.x86_64.0.2.5-14.1.el7 将被 安装
--> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-10,它被软件包 libselinux-devel-2.5-14.1.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-14.1.el7.x86_64 需要
---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
--> 正在检查事务
---> 软件包 libsepol-devel.x86_64.0.2.5-10.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================
Package 架构 版本 源 大小
=======================================================================================
正在安装:
openssl-devel x86_64 1:1.0.2k-16.el7_6.1 updates 1.5 M
正在更新:
openssl x86_64 1:1.0.2k-16.el7_6.1 updates 493 k
为依赖而安装:
keyutils-libs-devel x86_64 1.5.8-3.el7 base 37 k
krb5-devel x86_64 1.15.1-37.el7_6 updates 271 k
libcom_err-devel x86_64 1.42.9-13.el7 base 31 k
libkadm5 x86_64 1.15.1-37.el7_6 updates 178 k
libselinux-devel x86_64 2.5-14.1.el7 base 187 k
libsepol-devel x86_64 2.5-10.el7 base 77 k
libverto-devel x86_64 0.2.5-4.el7 base 12 k
为依赖而更新:
krb5-libs x86_64 1.15.1-37.el7_6 updates 803 k
openssl-libs x86_64 1:1.0.2k-16.el7_6.1 updates 1.2 M
事务概要
=======================================================================================
安装 1 软件包 (+7 依赖软件包)
升级 1 软件包 (+2 依赖软件包)
总计:4.7 M
总下载量:2.3 M
Downloading packages:
(1/8): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm | 37 kB 00:00:01
(2/8): libcom_err-devel-1.42.9-13.el7.x86_64.rpm | 31 kB 00:00:01
(3/8): libsepol-devel-2.5-10.el7.x86_64.rpm | 77 kB 00:00:00
(4/8): libverto-devel-0.2.5-4.el7.x86_64.rpm | 12 kB 00:00:00
(5/8): libkadm5-1.15.1-37.el7_6.x86_64.rpm | 178 kB 00:00:01
(6/8): krb5-devel-1.15.1-37.el7_6.x86_64.rpm | 271 kB 00:00:01
(7/8): libselinux-devel-2.5-14.1.el7.x86_64.rpm | 187 kB 00:00:01
(8/8): openssl-devel-1.0.2k-16.el7_6.1.x86_64.rpm | 1.5 MB 00:00:00
---------------------------------------------------------------------------------------
总计 972 kB/s | 2.3 MB 00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 1/14
正在更新 : krb5-libs-1.15.1-37.el7_6.x86_64 2/14
正在安装 : libkadm5-1.15.1-37.el7_6.x86_64 3/14
正在安装 : libcom_err-devel-1.42.9-13.el7.x86_64 4/14
正在安装 : libsepol-devel-2.5-10.el7.x86_64 5/14
正在安装 : libselinux-devel-2.5-14.1.el7.x86_64 6/14
正在安装 : libverto-devel-0.2.5-4.el7.x86_64 7/14
正在安装 : keyutils-libs-devel-1.5.8-3.el7.x86_64 8/14
正在安装 : krb5-devel-1.15.1-37.el7_6.x86_64 9/14
正在安装 : 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 10/14
正在更新 : 1:openssl-1.0.2k-16.el7_6.1.x86_64 11/14
清理 : 1:openssl-1.0.2k-16.el7.x86_64 12/14
清理 : krb5-libs-1.15.1-34.el7.x86_64 13/14
清理 : 1:openssl-libs-1.0.2k-16.el7.x86_64 14/14
验证中 : 1:openssl-1.0.2k-16.el7_6.1.x86_64 1/14
验证中 : keyutils-libs-devel-1.5.8-3.el7.x86_64 2/14
验证中 : libverto-devel-0.2.5-4.el7.x86_64 3/14
验证中 : krb5-libs-1.15.1-37.el7_6.x86_64 4/14
验证中 : libkadm5-1.15.1-37.el7_6.x86_64 5/14
验证中 : krb5-devel-1.15.1-37.el7_6.x86_64 6/14
验证中 : libselinux-devel-2.5-14.1.el7.x86_64 7/14
验证中 : 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 8/14
验证中 : libsepol-devel-2.5-10.el7.x86_64 9/14
验证中 : libcom_err-devel-1.42.9-13.el7.x86_64 10/14
验证中 : 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 11/14
验证中 : 1:openssl-libs-1.0.2k-16.el7.x86_64 12/14
验证中 : krb5-libs-1.15.1-34.el7.x86_64 13/14
验证中 : 1:openssl-1.0.2k-16.el7.x86_64 14/14
已安装:
openssl-devel.x86_64 1:1.0.2k-16.el7_6.1
作为依赖被安装:
keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.15.1-37.el7_6
libcom_err-devel.x86_64 0:1.42.9-13.el7 libkadm5.x86_64 0:1.15.1-37.el7_6
libselinux-devel.x86_64 0:2.5-14.1.el7 libsepol-devel.x86_64 0:2.5-10.el7
libverto-devel.x86_64 0:0.2.5-4.el7
更新完毕:
openssl.x86_64 1:1.0.2k-16.el7_6.1
作为依赖被升级:
krb5-libs.x86_64 0:1.15.1-37.el7_6 openssl-libs.x86_64 1:1.0.2k-16.el7_6.1
完毕!
编译安装
首先清理一下原有虚拟机/usr/local/ 路径下的Nigix安装程序
[root@Nigux ~]# rm -rf *
[root@Nigux ~]# rm -rf /usr/local/nginx/
[root@Nigux ~]# rm -rf /var/temp/
将nginx-1.8.0.tar.gz拷贝至linux服务器。
解压:
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
然后进入解压后的文件夹nginx-1.8.0
ls
[root@Nigux nginx-1.8.0]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
查看这些源码文件是否可执行
命令:ll
[root@Nigux nginx-1.8.0]# ll
总用量 632
drwxr-xr-x. 6 1001 1001 4096 7月 28 01:21 auto
-rw-r--r--. 1 1001 1001 249124 4月 21 2015 CHANGES
-rw-r--r--. 1 1001 1001 379021 4月 21 2015 CHANGES.ru
drwxr-xr-x. 2 1001 1001 168 7月 28 01:21 conf
-rwxr-xr-x. 1 1001 1001 2478 4月 21 2015 configure
drwxr-xr-x. 4 1001 1001 72 7月 28 01:21 contrib
drwxr-xr-x. 2 1001 1001 40 7月 28 01:21 html
-rw-r--r--. 1 1001 1001 1397 4月 21 2015 LICENSE
drwxr-xr-x. 2 1001 1001 21 7月 28 01:21 man
-rw-r--r--. 1 1001 1001 49 4月 21 2015 README
drwxr-xr-x. 8 1001 1001 77 7月 28 01:21 src
如何看是否可以执行的文件
解答:带X的
image.png因为直接 输入 make 命令 会提示makefile文件找不到
image.png
那么 我们根据configure 生成 makefile文件
输入
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
[root@Nigux nginx-1.8.0]# ll
总用量 636
drwxr-xr-x. 6 1001 1001 4096 7月 28 01:21 auto
-rw-r--r--. 1 1001 1001 249124 4月 21 2015 CHANGES
-rw-r--r--. 1 1001 1001 379021 4月 21 2015 CHANGES.ru
drwxr-xr-x. 2 1001 1001 168 7月 28 01:21 conf
-rwxr-xr-x. 1 1001 1001 2478 4月 21 2015 configure
drwxr-xr-x. 4 1001 1001 72 7月 28 01:21 contrib
drwxr-xr-x. 2 1001 1001 40 7月 28 01:21 html
-rw-r--r--. 1 1001 1001 1397 4月 21 2015 LICENSE
-rw-r--r--. 1 root root 345 7月 28 01:33 Makefile
drwxr-xr-x. 2 1001 1001 21 7月 28 01:21 man
drwxr-xr-x. 3 root root 125 7月 28 01:33 objs
-rw-r--r--. 1 1001 1001 49 4月 21 2015 README
drwxr-xr-x. 8 1001 1001 77 7月 28 01:21 src
然后输入命令: make
安装make
make install
然后查看一下 Nginx 安装的路径 是不是在/usr/local/ 看看有没有nginx
[root@Nigux nginx-1.8.0]# cd /usr/local/
[root@Nigux local]# ll
总用量 0
drwxr-xr-x. 2 root root 6 4月 11 2018 bin
drwxr-xr-x. 2 root root 6 4月 11 2018 etc
drwxr-xr-x. 2 root root 6 4月 11 2018 games
drwxr-xr-x. 2 root root 6 4月 11 2018 include
drwxr-xr-x. 2 root root 6 4月 11 2018 lib
drwxr-xr-x. 2 root root 6 4月 11 2018 lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 libexec
drwxr-xr-x. 5 root root 42 7月 28 01:39 nginx
drwxr-xr-x. 2 root root 6 4月 11 2018 sbin
drwxr-xr-x. 5 root root 49 7月 27 08:28 share
drwxr-xr-x. 2 root root 6 4月 11 2018 src
进入nginx 文件夹 中的 sbin
[root@Nigux local]# cd nginx
[root@Nigux nginx]# ls
conf html sbin
[root@Nigux nginx]# cd sbin
运行 Ngnix
./nginx
出现上面提到的错误 没有temp 目录
nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)
解决
创建temp目录
命令
mkdir /var/temp/nginx
有提示错误 应该一层一层创建
[root@Nigux sbin]# mkdir /var/temp/nginx
mkdir: 无法创建目录"/var/temp/nginx": 没有那个文件或目录
解决
mkdir /var/temp/nginx -p
重新启动Nginx
./nginx
查询nginx进程:
image.png15098是nginx主进程的进程id,15099是nginx工作进程的进程id
注意:执行./nginx****启动nginx****,这里可以-c****指定加载的nginx****配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c****,nginx****在启动时默认加载conf/nginx.conf****文件,此文件的地址也可以在编译安装nginx****时指定./configure****的参数(--conf-path= 指向配置文件(nginx.conf****))
[root@Nigux sbin]# ./nginx
[root@Nigux sbin]# ps aux|grep
用法: grep [选项]... PATTERN [FILE]...
试用‘grep --help’来获得更多信息。
[root@Nigux sbin]# ps aux|grep nginx
root 12518 0.0 0.0 24884 772 ? Ss 02:01 0:00 nginx: master process ./nginx
nobody 12520 0.0 0.1 27396 1532 ? S 02:01 0:00 nginx: worker process
root 12616 0.0 0.0 112724 992 pts/0 R+ 02:04 0:00 grep --color=auto nginx
[root@Nigux sbin]#
image.png
停止nginx
方式1,快速停止:
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
方式2,完整停止(建议使用):
cd /usr/local/nginx/sbin
./nginx -s quit
此方式停止步骤是待nginx进程处理任务完毕进行停止。
重启nginx
方式1,先停止再启动(建议使用):
对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。
如下:
./nginx -s quit
./nginx
方式2,重新加载配置文件:在不关机的状态,修改配置文件
当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:
./nginx -s reload
网友评论