您的位置:首页 > 运维架构 > Nginx

控制nginx服务

2016-08-11 17:52 393 查看

守护进程和服务

nginx是作为守护进程运行在系统中,在启动nginx的时候屏幕不会输出任何信息,若有输出则是启动时出现的错误信息。

用户和组

  最常见的错误是由于用户或用户组的错误配置,对nginx的设置是一个无效的访问权限的时候,nginx没有权限访问你需要的文件,经常出现“403 Forbidden”错误。

根据进程功能,可能需要两个不同级别的进程权限:

1、nginx的master进程,由root启动,在大多数类unix系统,root用户开启的进程允许在开放任何端口的TCP套接字,但是其他用户启动的进程只能监听在1024以上的端口,因此,如果不是以root用户启动nginx将无法监听80、433端口,出现无法启动的问题。

2、nginx的工作进程,由配置文件中user指令指定的账户开始运行,配置文件的设置优先于在配置时使用configure脚本开关选项指定的用户,如果没有做任何指定,工作进程将以用户nobody和用户组nobody运行(或nogroup,取决于操作系统)。

nginx命令行开关项

  nginx二进制文件接收命令行参数用于执行各种操作,控制后台进程,获取该命令的全部参数列表:

[root@localhost sbin]# ./nginx -h


以上开关项一些用于控制守护进程,一些用于在应用配置上执行各种操作。

启动和停止守护进程

可以使用不带任何参数的nginx二进制文件来启动nginx,如果该进程已经运行,就会有一条消息指出已经有一个套接字在指定端口监听:



使用nginx -s命令向进程发送信号来实现控制进程:

命令描述
nginx -s stop立即停止守护进程(使用TERM信号)
nginx -s quit温和的停止守护进程(使用QUIT信号)
nginx -s reopen重新打开日志文件
nginx -s reload重新打开配置文件
注意:对进程的控制操作都是基于配置文件是配置正确的前提下进行的。

强制杀死nginx进程:

[root@localhost sbin]# killall nginx

测试配置文件

检测语法、合法性、配置文件完整性:

[root@localhost sbin]# ./nginx -t
开关选项-t表示测试配置文件,nginx将重新解析配置文件来确定配置文件是否有效,有时候nginx无法启动不一定是配置文件问题,可能是f套接字问题无效路径不正确的访问权限等。

对于生成环境不建议直接修改配置文件,可以将新的配置放在一个单独的临时文件中,然后对该文件进行测试,nginx提供了-c选项进行测试:

[root@localhost sbin]# ./nginx -t -c test.conf
测试通过后再使用。

其他开关选项

1.-V(大写)选项

-V选项不仅可以列出当前版本号而且可以列出执行configure脚本配置的所有开关选项:

[root@localhost sbin]# ./nginx -V
2.-g选项

-g选项用于指定额外的配置指令

[root@localhost sbin]# ./nginx -g “timer_resolution 200ms;”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx