nginx官网地址:http://nginx.org/

进入下载页面:http://nginx.org/en/download.html

我这里下载的当前稳定版:http://nginx.org/download/nginx-1.10.3.tar.gz


接下来开始安装nginx

检查和安装依赖项

[root@bogon ~]# yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

解压nginx压缩包并安装

[root@bogon liuzhen]# wget http://nginx.org/download/nginx-1.10.3.tar.gz
[root@bogon liuzhen]# tar -zxvf nginx-1.10.3.tar.gz
[root@bogon liuzhen]# cd nginx-1.10.3
[root@bogon nginx-1.10.3]# ./configure
[root@bogon nginx-1.10.3]# make && make install

现在已经安装完成,默认安装到/usr/local/nginx/,可以再执行./configure命令时添加--prefix指明自己要安装的位置

./configure --prefix=/你的安装目录

接下来是nginx启动、重启、停止命令

切换到nginx安装目录

[root@bogon liuzhen]# cd /usr/local/nginx/
[root@bogon nginx]# sbin/nginx #启动
[root@bogon nginx]# sbin/nginx -s reload  #重新启动
[root@bogon nginx]# sbin/nginx -s stop  #关闭nginx

------------------------------------------------------------------------------

nginx第三方模块的安装方法

nginx第三方模块地址:https://www.nginx.com/resources/wiki/modules/index.html

安装示例

./configure --prefix=/你的安装目录  --add-module=/第三方模块目录

以安装pagespeed模块示例

在未安装nginx的情况下安装nginx第三方模块

[root@bogon nginx-1.10.3]# ./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module --with-http_realip_module \
--with-http_p_w_picpath_filter_module \
--add-module=../ngx_pagespeed-master --add-module=/第三方模块目录
[root@bogon nginx-1.10.3]# make && make install
[root@bogon nginx-1.10.3]# /usr/local/nginx/sbin/nginx #启动nginx

在已安装nginx情况下安装nginx模块

[root@localhost nginx-1.10.3]# ./configure --prefix=/usr/local/nginx \
 --with-http_stub_status_module \
 --with-http_ssl_module --with-http_realip_module \
 --with-http_p_w_picpath_filter_module \
 --add-module=../ngx_pagespeed-master
[root@bogon nginx-1.10.3]# make
[root@bogon nginx-1.10.3]# /usr/local/nginx/sbin/nginx -s stop #停止nginx服务
[root@bogon nginx-1.10.3]# cp objs/nginx /usr/local/nginx/sbin/nginx
[root@bogon nginx-1.10.3]# /usr/local/nginx/sbin/nginx #启动nginx服务

相比之下仅仅多了一步覆盖nginx文件.

总结,安装nginx安装第三方模块实际上是使用--add-module重新安装一次nginx,不要make install而是直接把编译目录下objs/nginx文件直接覆盖老的nginx文件.如果你需要安装多个nginx第三方模块,你只需要多指定几个相应的--add-module即可.


提示:

重新编译的时候,记得一定要把以前编译过的模块一同加到configure参数里面.


已安装nginx情况下,可以通过下面命令查看目前已安装了哪些模块

[root@bogon liuzhen]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 
configure arguments: --with-http_stub_status_module
[root@bogon liuzhen]#

上面显示结果说明我已经安装stub_status模块,这样可以根据事情情况判断需要再次安装哪些模块