虚拟主机

Nginx主程序使用介绍


守护进程和服务



在首次运行Nginx之前,了解此应用程序的性质很重要。 有两种类型的计算机应用程序 ? 那些需要用户输入,因此在前台运行,另一种在后台运行。 Nginx是后一种类型,通常称为守护进程。 守护进程名称通常带有尾随的“d”,这里可以提到几个例子 – httpd,HTTP服务器守护进程,是几个Linux发行版下给Apache的名称; named,域名解析服务器守护进程; 或crond任务调度器 – 当Nginx从命令行启动时,守护进程立即返回终端,并且在大多数情况下,甚至不会输出任何数据到终端。

用户和组



了解Nginx的进程架构,特别是其各种进程运行的用户和组是非常重要的。由于用户或组的错误配置 ,可能导致Nginx出现权限之类的错误,你最终会得到403 Forbidden HTTP错误,Nginx不能访问请求的文件。
有两个级别的进程,可能具有不同的权限集:
Nginx主进程:这应该以root身份启动。 在大多数类Unix系统中,使用root帐户启动的进程允许在任何端口上打开TCP套接字,而其他用户只能在1024以上的端口上打开侦听套接字。如果您不以root身份启动Nginx,则标准端口 80或443将无法访问。
Nginx工作进程:这些由主进程在您配置文件中使用user指令指定的帐户下自动生成。 配置设置优先于您在编译时指定的配置选项。 如果您没有指定任何这些,工作进程将作为用户nobody和组nobody(或nogroup,取决于您的操作系统)启动。

Nginx命令行选项



Nginx二进制接受命令行参数以执行各种操作,包括控制后台进程。 要获取完整的命令列表,可以使用以下命令输出帮助信息:

  1. [alex@example.com ~]$ cd /usr/local/nginx/sbin

  2. [alex@example.com sbin]$ ./nginx -h

启动和停止Nginx进程



你可以不用指令任何参数来启动Nginx。 如果守护程序已在运行,将显示一条消息,套接字已在侦听端口上侦听:
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) […]
[emerg]: still could not bind().
除此之外,您可以通过停止,重新启动守护程序或简单地重新加载它的配置来控制守护程序。 通过使用nginx -s命令向进程发送信号来控制进程。
nginx –s stop:立即停止守护进程(使?TERM信号)。
nginx –s quit:正常停止守护程序(使用QUIT信号)。
nginx –s reopen:重新打开日志文件。
nginx –s reload:重新加载配置。
在以上命令无法停止nginx的情况下,终止进程的另一种方法是使用具有root权限的kill vs killall命令:

  1. [root@example.com ~]# killall nginx

测试配置文件



测试Nginx配置文件的命令为:

  1. [alex@example.com ~]$ /usr/local/nginx/sbin/nginx –t

也可以测试指定的配置文件:

  1. [alex@example.com sbin]$ ./nginx –t –c /home/alex/test.conf


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: