启动
只需要直接运行nginx可执行文件。
[gap@localhost sbin]$ pwd
/usr/local/nginx/sbin
[gap@localhost sbin]$ ll
total 3208
-rwxr-xr-x 1 root root 3283671 Jan 26 21:47 nginx
//启动nginx
[gap@localhost sbin]$ sudo ./nginx
//查看nginx进程
[gap@localhost sbin]$ ps -ef|grep nginx
root 30225 3727 0 22:44 pts/0 00:00:00 sudo ./nginx
root 32497 1 0 23:20 ? 00:00:00 nginx: master process ./nginx
nobody 32499 32497 0 23:20 ? 00:00:00 nginx: worker process
gap 32504 3727 0 23:20 pts/0 00:00:00 grep --color=auto nginx
控制
一旦nginx启动,可以在调用可执行文件时使用 -s参数对程序进行控制。使用如下语法:
nginx -s signal
其中signal
可以是如下值:
stop — 快速关闭
quit — 优雅地关闭
reload — 重新家在配置文件
reopen — 重新打开日志文件
停止
例如,要等带worker进程处理万当前请求后再退出nginx,可是用如下命令:
nginx -s quit
必须使用启动nginx的用户执行这个命令。
重新加载配置文件
修改配置文件之后,只有重新加载指令被传给nginx进程或者重新启动nginx才会生效。
重启nginx:
nginx -s reload
一旦主进程收到重新加载配置的信号,就会检查新配置文件的语法正确性,并尝试应用配置信息。如果成功,主进程会启动新的worker进程并且向老的worker进程发送消息,要求他们关闭;否则,主进程回滚所作的修改,继续使用老的配置工作。老的worker进程,收到关闭命令,停止接受新连接,继续处理当前请求,直到所有请求都处理完,然后老worker进程退出。
其他控制方式
在Unix工具(比如kill工具)的帮助下,也可以给nginx进程发送信号。在这种情况下,信号直接发送给指定ID的进程。nginx主进程的ID默认被写道nginx.pid文件,保存在/usr/local/nginx/logs目录下,或者在/var/run目录下。比如,如果主进程ID
时1628,发送QUIT信号让nginx优雅地退出,执行:
kill -s QUIT 1628
要获取正在运行的nginx进程,使用ps工具,例如:
ps -ax | grep nginx
要了解更多关于发送信号给nginx的信息,可以参考官方文档中的Controlling nginx部分。