This is an old revision of the document!
nginx [engine x] 是一个 HTTP ,反向代理,邮件代理,通用 TCP/UDP 代理服务器,最初由 Igor Sysoev 设计实现。
nginx 有一个主进程和若干工作进程。主进程的主要作用是读取和评估配置信息,以及维护工作进程。工作进程对请求进行实际处理。nginx使用基于事件的模型和依赖于操作系统的机制来有效地在多个工作进程之间分配请求。工作进程的数量在配置文件中定义,可以固定为某个值,也可以根据可用CPU内核的数量进行自动调整。
要启动nginx,运行可执行文件。启动后,就可以通过使用-s
参数调用可执行文件来对其进行控制。使用以下语法:
nginx -s signal
其中signal可能是以下之一:
要获取所有正在运行的nginx进程的列表,可以使用ps实用程序,例如:
ps -ax | grep nginx
nginx及其模块的工作方式在配置文件中确定。默认情况下,配置文件名为nginx.conf,并放置在目录/usr/local/nginx/conf、/etc/nginx或/usr/local/etc/nginx中。
nginx由模块组成,这些模块受配置文件中的指令控制。 指令分为简单指令和块指令。 一个简单的指令由指令名称和参数组成,用空格分隔,并以分号(;)结尾。块指令的结构与简单指令相同,但它不是以分号结尾,而是带有一组用花括号({})括起来的附加指令(instruction)。 如果一个块指令可以包含其他指令(directive),则将其称为上下文(如:events, http, server, location)。
在配置文件中,如果一个指令不在任何上下文中,则被视为在主上下文中。events
和http
指令位于主上下文中,server
指令位于http
中,而location
指令位于server
中。
#号后的内容被视为注释。