重庆企业网站建设哪家专业网络广告营销典型案例
前言
说明
要义
nginx 有一个master 进程和多个worker 进程。主进程的主要目的是读取和评估配置,以及维护工作进程。工作进程对请求进行实际处理。nginx 采用基于事件的模型和依赖于操作系统的机制在工作进程之间有效地分发请求。工作进程的数量在配置文件中定义,并且可以针对给定的配置固定或自动调整为可用 CPU 内核的数量worker_processes
句法: worker_processes number | auto;
默认: worker_processes 1;
语境: main
定义工作进程的数量。最佳值取决于许多因素,包括(但不限于)CPU 核心数、存储数据的硬盘驱动器数和负载模式。当有疑问时,将其设置为可用CPU内核的数量将是一个好的开始(值“ auto”将尝试自动检测它)。auto从1.3.8和1.2.5版本开始支持该参数。
启动、停止和重新加载配置
要启动 nginx,请运行可执行文件。nginx 启动后,可以通过调用带有-s参数的可执行文件来控制它。使用以下语法:
nginx -s signal
其中signal可能是以下之一:
- stop ==> 快速关机
- quit ==> 优雅关机
- reload ==> 重新加载配置文件
- reopen ==> 重新打开日志文件
例如,要停止 nginx 进程并等待工作进程完成对当前请求的服务,可以执行以下命令:
nginx -s quit
在重新加载配置的命令发送到 nginx 或重新启动之前,不会应用在配置文件中所做的更改。要重新加载配置,请执行:
nginx -s reload
一旦主进程收到重新加载配置的信号,它就会检查新配置文件的语法有效性并尝试应用其中提供的配置。如果成功,主进程启动新的工作进程并向旧的工作进程发送消息,请求它们关闭。否则,主进程回滚更改并继续使用旧配置。旧工作进程收到关闭命令,停止接受新连接并继续为当前请求提供服务,直到所有此类请求都得到服务。之后,旧的工作进程退出。
借助kill实用程序等 Unix 工具,也可以将信号发送到 nginx 进程。在这种情况下,信号将直接发送到具有给定进程 ID 的进程。nginx master进程的进程ID,nginx.pid默认写入到目录下的/usr/local/nginx/logs或/var/run。例如master进程ID为1628,发送QUIT信号使nginx正常关闭,执行:
kill -9 QUIT 1628
要获取所有正在运行的 nginx 进程的列表,ps 可以使用该实用程序,例如,以下列方式:
ps -ax | grep nginx
有关向 nginx 发送信号的更多信息,请参阅控制 nginx
配置文件的结构
nginx由模块组成,这些模块由配置文件中指定的指令控制。指令分为简单指令和块指令。简单指令由名称和参数组成,以空格分隔并以分号 结尾。块指令与简单指令具有相同的结构,但它以一组由大括号包围的附加指令结束,而不是分号。如果块指令可以在大括号内包含其他指令,则称为上下文(示例: events、 http、 server和 location)
放置在任何上下文之外的配置文件中的指令被认为是在main上下文中
#符号后一行的其余部分,被视为注释
结语
NGINX Open Source