it运维开发教程,运维管理,因为微不足道,所以值得关注!域名来源:sos 救援 idc 数据中心 所以sos+idc=sosidc.com
  • 首页
  • nginx
  • nginx教程08-nginx 启动 关闭 不重启读取配置文件

nginx教程08-nginx 启动 关闭 不重启读取配置文件

发布:小小编辑2016-1-28 10:13分类: nginx

进入到nginx安装目录,查看启动程序帮助

[ron@localhost sbin]$ ./nginx -h
Tengine version: Tengine/2.1.2 (nginx/1.6.2)
Usage: nginx [-?hvmVtdq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -m            : show all modules and exit
  -l            : show all directives and exit
  -V            : show version, modules and configure options then exit
  -t            : test configuration and exit
  -d            : dump configuration and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /home/ron/nginx/)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file

-s 参数用来控制nginx启动 关闭 等


./nginx  启动

./nginx -s stop  停止nginx

./nginx -s reload  优雅重启,不停nginx 前提下更新读取配置文件


其它常用参数

-l  查看每个模块包含哪些指令

[ron@localhost sbin]$ ./nginx  -l
Tengine version: Tengine/2.1.2 (nginx/1.6.2)
all available directives:
ngx_core_module:
    daemon
    master_process
    timer_resolution
    pid
    lock_file
    worker_processes
    debug_points
    user
    worker_priority
    worker_cpu_affinity
    worker_rlimit_nofile
    worker_rlimit_core
    worker_rlimit_sigpending
    working_directory
    env
ngx_errlog_module:
    error_log

..........

-m  查看编译模块

-t  测试配置文件是否正确

-p  指定nginx安装目录

-c  指定读取哪个配置文件

-s 通过发信号的方式来控制nginx 启动 关闭  优雅重启等


以下转自互联网

nginx的停止。
kill 信号类型 `/usr/local/nginx/logs/nginx.pid`
①从容停止nginx
kill - QUIT nginx主进程号。
kill - QUIT `/usr/local/nginx/logs/nginx.pid`
②快速停止nginx。
kill - INT或TEMR nginx主进程号
kill - INT或TEMR 

 `/usr/local/nginx/logs/nginx.pid`
③强制重启
pkill -9 nginx 或者killall nginx
3.nginx的平滑启动
首先你想要检查配置文件是否正确,
如果配置是默认路径的话可以不用  -c 指定。如果没有错误就可以平滑启动了。
kill - HUP nginx 主进程号
kill - HUP  `/usr/local/nginx/logs/nginx.pid`
4.nginx的信号控制
TERM INT快速关闭。
QUIT 从容停止。
HUP 平滑启动
USR1 重新打开日志文件,主要用在日志切割。
USR2 平滑升级可执行程序,主要用在版本升级。
WINCH 从容关闭工作进程 。
5nginx的平滑升级
①用新的可执行程序替换老的可执行程序,对于编译安装的nginx可以将新的直接按装到旧的里面,最好备份下
②kill  -USR2 旧版本的主进程号。
③旧版本的nginx的主进程命名为.pid.oldbin ,然后执行新版本的nginx可执行程序,依次启动新的主进程和新的工作进程。
④现在新,旧版本的nginx实例会同时运行,共同处理请求。要逐步停止旧版本的nginx,必须发送WINCH 信号给主进程,然后,它的工作进程将开始从容关闭。。
kill -WINCH 旧版本的主进程号。
⑤一段时间后,旧的工作进程(work proess)处理了所有已连接的请求后退出,仅由新的工作进程来处理输入的请求了。
⑥这个时候我们可以选择了
kill -HUP 旧的主进程号: nginx将在不重载配置文件的情况下启动它的工作进程。
kill -QUIT 新的主进程号:从容关闭其工作进程。
kill -TERM 新的主进程号:强制退出。
kill 新的主进程号或者旧的主进程号:会因为某原因新的工作进程不能退出,则向其发送kill信号。
新的主进程号推出后,旧的会移除.oldbin 后缀,恢复他的pid文件,这样,一切都恢复到升级之前了。
如果想尝试升级成功,而切也要保留新的服务器时,可以发送QUIT信号给旧的主进程,使其退出保留下新的服务器运行。



温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

已有 0/18135 人参与

发表评论:

欢迎使用手机扫描访问本站,还可以关注微信哦~