nginx是C语言开发,建议在linux上运行,我采用的是Centos7作为安装环境。
一. 安装插件
首先安装GCC
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc
yum install gcc-c++
然后安装PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
# yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
注意如果这个时候报错如下:
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem.
那么如下解决:
(1)查看pcre包是否重复
# rpm -qa | grep pcre
(2)移除一个
# rpm -qa | grep pcre
pcre-8.32-15.el7_2.1.i686
pcre-8.32-15.el7_2.1.x86_64
# yum remove pcre-8.32-15.el7_2.1.i686
(3)再次安装
yum install -y pcre pcre-devel
这样问题就解决了
安装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
二、编译安装
1、上传:
下载地址
我选择的是nginx-1.9.14.tar.gz
一般安装在/usr/local/nginx
2、解压:
tar -zxvf nginx-1.9.14.tar.gz
3、进行configure配置
进入/usr/local/nginx/nginx-1.9.14下,执行
./configure --prefix=/usr/local/nginx
4. 编译安装
在该目录下:
make && make install
或者先编译后安装
make
make install
安装成功后查看安装目录 :cd /usr/local/nginx
三、启动nginx
cd /usr/local/nginx/sbin/
./nginx
查看进程
ps aux|grep nginx
有nginx主进程的进程id,也有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))
四、停止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
六、 测试
nginx安装成功,启动nginx,即可访问虚拟机上的nginx:
直接在浏览器上访问服务器的iP