搭建高性能web服务器之Nginx安装与配置(2.6)


《深入理解Nginx:模块开发与架构解析》第1章研究Nginx前的准备工作,本章介绍了Nginx的特点以及在什么场景下需要使用Nginx,同时介绍了如何获取Nginx以及如何配置、编译、安装运行Nginx。本章还深入介绍了最为复杂的configure过程,这部分内容是学习本书第二部分和第三部分的基础。本节为本章的小结部分

 

1. nginx的命令的控制使用介绍

nginx的默认命令 可选参数 意义说明

/usr/local/nginx/sbin/nginx 

-c 
启动nginx时,通过-c参数加载指定nginx主配置文件
/usr/local/nginx/sbin/nginx  -p 启动nginx时,使用-p参数指定Nginx的安装目录

/usr/local/nginx/sbin/nginx

-g

启动nginx服务时,通过-g参数临时指定nginx的pid文件路径
/usr/local/nginx/sbin/nginx  -t 通过-t检查nginx配置文件是否有误
/usr/local/nginx/sbin/nginx  -v 显示nginx的版本信息
/usr/local/nginx/sbin/nginx  -V 显示nginx相关./configure参数以及OS,G版本信息
/usr/local/nginx/sbin/nginx  -s stop

快速关闭nginx服务,等同于kill -s SIGTERM/SIGINT <nginx master pid>


/usr/local/nginx/sbin/nginx 


-s quit

优雅关闭nginx服务(先会关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程)等同kill -s SIGQUIT <nginx master pid>; 当然要想关闭nginx的某个work进程,使用:kill -s SIGWINCH <nginx work pid>


/usr/local/nginx/sbin/nginx 


-s reload

重新加载nginx配置(事实上,Nginx会先检查新的配置项是否有误,如果全部正确就以“优雅”的方式关闭,再重新启动Nginx来实现这个目的。类似的,-s是发送信号,仍然可以用kill命令发送HUP信号来达到相同的效果)等同于kill -s SIGHUP <nginx master pid>

 

/usr/local/nginx/sbin/nginx



-s reopen

日志回滚,使用-s reopen参数可以重新打开日志文件,这样可以先把当前日志文件改名或转移到其他目录中进行备份,再重新打开时就会生成新的日志文件。这个功能使得日志文件不至于过大,等同于kill -s SIGUSR1 <nginx master pid>


/usr/local/nginx/sbin/nginx

-t -q

测试配置选项时,使用-q参数可以不把error级别以下的信息输出到屏幕。例如:
/usr/local/nginx/sbin/nginx -h 或-? 显示命令的帮助


2. 关于nginx的平滑升级

   当Nginx服务升级到新的版本时,必须要将旧的二进制文件Nginx替换掉,通常情况下这是需要重启服务的,但Nginx支持不重启服务来完成新版本的平滑升级

  升级时包括以下步骤:

1.通知正在运行的旧版本Nginx准备升级。通过向master进程发送USR2信号可达到目的。如下:

  kill -s SIGUSR2 <nginx master pid> 

这时,运行中的Nginx会将pid文件重命名,例如将/usr/local/nginx/logs/nginx.pid重命为:/usr/local/nginx/logs

/nginx.pid.old 这样新的Nginx才有可能启动成功。

2.启动新版本的Nginx,可以使用以上介绍过的任意一种启动方法。这时通过ps命令可以发现新旧版本的Nginx在同时运行。

3.通过kill命令向旧版本的master进程发送SIGQUIT信号,以“优雅”的方式关闭旧版本的Nginx。随后将只有新版本的Nginx服务运行,此时平滑升级完毕。


你可能感兴趣的:(linux,二进制,local,web服务器,配置文件)