一、编译安装Nginx的要求如下:
1、确保您的操作系统安装有GCC编译器。另外您还必须安装Autoconf 和 Automake工具,它们用于自动创建功能完善的Makefile,当前大多数软件包都是用这一工具生成Makefile的,在CentOS系统下,您可以使用yum命令
yum -y install gcc gcc-c++ autoconf automake
2、模块依赖性
Nginx的一些模块需要其他第三方库的支持,例如gzip模块zlib库,rewrite模块需要pcre库,ssl模块需要openssl库等。
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
二、在Linux环境下的安装
1
2
3
4
5
|
tar
zxvf nginx-1.1.xx.
tar
.gz
cd
nginx-1.1.xx
.
/configure
make
sudo
make
install
|
三、Nginx的启动、停止、平滑重启
1)启动:假设Nginx安装在/usr/local/nginx/目录中,那么启动命令就是:
1
|
/usr/local/nginx/sbin/nginx
-c
/usr/nginx/conf/nginx
.conf
|
如果不加"-c"参数,Nginx会默认加载其安装目录的conf子目录中的nginx.conf文件。
2)停止
Nginx的停止方法有很多种,一般通过发送系统信号给Nginx的方式来停止Nginx。可以通过
1
|
ps
-ef |
grep
nginx
|
如果在nginx.conf配置文件中指定了pid文件存放的路径,该文件中存放的就是Nginx当前的主进程号,如果没有指定,默认存放在Nginx安装目录的logs目录下,所以可以通过以下命令来完成平滑重启。
1
|
kill
- 信号类型
'/usr/local/webserver/nginx/logs/nginx.conf'
|
(1)从容停止Nginx
1
|
kill
- QUIT Nginx 主进程号
|
或
1
|
kill
- QUIT
'/usr/local/webserver/nginx/logs/nginx.conf'
|
(2)快速停止Nginx
1
2
|
kill
- TERM Nginx主进程号
kill
- TERM
'/usr/local/webserver/nginx/logs/nginx.conf'
|
或
1
2
|
kill
- INT Nginx主进程号
kill
- INT
'/usr/local/webserver/nginx/logs/nginx.conf'
|
(3)强制停止所有Nginx进程
1
|
pkill -9 nginx
|
3)平滑重启
如果修改了Nginx的配置文件nginx.conf,想重启Nginx,同样可以通过发送信号给Nginx主进程的方式来进行。
要确认配置文件是否正确,可以使用如下语句
1
|
/usr/local/nginx/sbin/nginx
-t -c
/usr/nginx/conf/nginx
.conf
|
这样就可以平滑重启Nginx了。
1
2
|
kill
-HUP Nginx主进程好
kill
-HUP
'/usr/local/webserver/nginx/logs/nginx.conf'
|
当Nginx接收到HUP信号时,它会尝试先解析配置文件,如果成功,就应用新的配置文件。之后Nginx运行新的工作进程并从容关闭旧的工作进程,但是继续为当前连接的客户提供服务,直到全部完成,旧的工作进程被关闭。如果新的配置文件应用失败,Nginx将继续使用旧的配置进行工作。
4)Nginx的信号控制
本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1564020,如需转载请自行联系原作者