上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3 配置文件
在OpenResty里,Nginx配置文件不仅定义了服务的基本运行参数(进程数量、运行日志、优化调整等),还定义了Web服务的接口和功能实现,只有熟悉配置文件才能维护好Open-Resty。
Nginx的配置文件使用了自定义的一套语法,规则严谨而简洁,完全可以把它理解成一个小型的编程语言,要点简略叙述如下:
■ 与Shell/Perl相同,使用#开始一个注释行;
■ 使用单引号或者双引号来定义字符串,允许用“\”转义字符;
■ 使用$var可以引用预定义的一些变量;
■ 配置指令以分号结束,可以接受多个参数,用空白字符分隔;
■ 配置块(block)是特殊的配置指令,它有一个{}参数且无须分号结束,{}里面可以书写多个配置指令,配置块也允许嵌套;
■ 使用“include”指令可以包含其他配置文件,支持“*”通配符;
■ 不能识别或错误的配置指令会导致Nginx启动失败。
下面列出OpenResty自带的配置文件片段,部分较重要的配置指令用黑体表示:
worker_processes 1; #设置worker进程的数量为1 events { #events块,使用的事件机制 worker_connections 1024; #单个worker的最大连接数 } #events块结束 http { #定义HTTP服务 server { #server块,定义一个Web服务 listen 80; #服务使用的是80端口 server_name localhost; #HTTP服务对应的域名 location / { #location块,定义匹配的URI ... } #location块结束
} #server块结束 } #http块结束
这个配置文件片段的第一行是配置指令worker_processes,要求Nginx启动一个worker进程,我们在实际应用时应当根据CPU数量适当调整,以最大化Nginx的性能。
events块里面只有一个worker_connections指令,确定每个worker进程可以处理的最大连接数,它与worker_processes指令共同确定了Nginx的服务能力,也就是能够支持的最大并发连接数(即worker_processes*worker_connections)。
http块是我们在开发OpenResty应用时最需要关注的,它定义了对外提供的Web服务和功能接口,示例里是一个监听标准80端口的服务,详细解说可参见2.5节。