网上通用的方法一般是两种,yum和编译安装
一、yum方式
yum我没测试,所以不做评论,感兴趣可以参考以下两个帖子
centos6 ,7 使用yum 安装最新nginx版本 这里需要注意的是,新增的nginx.repo文件中必须要加上“[nginx]”这一段
CentOS 7 YUM 安装 Nginx 这篇帖子看的云山雾罩,所以不加评论
二、编译方式
我在这里采取的是编译安装的方式,步骤见下
2.1:安装前提
在安装nginx前,需要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件。安装必须软件:
安装命令如下
[[email protected] /]# yum install gcc-c++
[[email protected] /]# yum -y install zlib zlib-developenssl openssl-devel pcre pcre-devel
检查系统安装的Nginx:
[[email protected] /]# find-name nginx
./usr/local/nginx/sbin/nginx
卸载原有的Nginx:
[[email protected] /]# yum remove nginx
下载安装包
方式一:从https://nginx.org/en/download.html直接下载
方式二:
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
下载后,将安装包放到期望路径,比如我的是/usr/local/下。然后解压缩 tar -vxf nginx*。解压后进入nginx-1.12.2
进入nginx-1.12.2目录后,执行./configure。如果有特殊需求,可以执行个性化配置,如下
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/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目录
但是我没有测试
编译安装:
make
make install
查找安装路径:
whereis nginx
启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s quit
:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
./nginx -s stop
查询nginx进程:
ps aux|grep nginx
重启 nginx
1.先停止再启动(推荐):
对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
./nginx -s quit
./nginx
2.重新加载配置文件:
当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用
-s reload
不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx -s reload
启动成功后,在浏览器可以看到这样的页面:

开机自启动
即在
rc.local
增加启动代码就可以了。
增加一行
/usr/local/nginx/sbin/nginx
设置执行权限:
到这里,nginx就安装完毕了,启动、停止、重启操作也都完成了,当然,你也可以添加为系统服务,我这里就不在演示了
三、坑们
解压了nginx的安装包后,我迫不及待的将nginx-1.12.2文件夹改名为nginx。然后执行./configure和make
这样在执行到make install的时候就产生报错,内容如下:
根据报错信息查了半天,完全没有头绪,后来看到一个帖子nginx源码编译安装出现“make[1]: Leaving directory `/usr/local/nginx’“解决办法 作者在里面说当make install执行完毕之后,要检查一下nginx文件夹是否存在。
然后我就想,是否我不应该解压后就改名,因为编译之后会生成一个名为“nginx”的文件夹,如果我改名了,就会有冲突?
所以我删掉之前的nginx文件夹,重新解压缩nginx的压缩包,而且不再改名,再执行 1: ./configure 2: make 3:make install就能正确执行完毕了。问题解决!