网上通用的方法一般是两种,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软件。安装必须软件:
安装命令如下
[root@localhost /]# yum install gcc-c++
[root@localhost /]# yum -y install zlib zlib-developenssl openssl-devel pcre pcre-devel
检查系统安装的Nginx:
[root@localhost /]# find-name Nginx
./usr/local/Nginx/sbin/Nginx
卸载原有的Nginx:
[root@localhost /]# 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 -s quit
:此方式停止步骤是待Nginx进程处理任务完毕进行停止。./Nginx -s stop
:此方式相当于先查出Nginx进程id再使用kill命令强制杀掉进程。
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
启动成功后,在浏览器可以看到这样的页面:
开机自启动
vi /etc/rc.local
增加一行 /usr/local/Nginx/sbin/Nginx
设置执行权限:
chmod 755 rc.local
到这里,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就能正确执行完毕了。问题解决!