nginx配置的通用语法

1.块配置项

块配置项由一个块配置项名和一对大括号组成。例如:

events{
    ...
}
 
http{
    upstream backend{
        server 127.0.0.1:8080;
    }
 
    gzip on;
}

上面的代码中,events,http,upstream等都是块配置项。块配置项一定会用大括号把一系列的所属配置项全包含进来,表示大括号内的配置项同时生效。

2.配置项的语法格式

nginx中最基本的配置项语法格式为: 配置项名 配置项值1 配置项值2 … ;

如果配置项中出现空格等语法符号,则需要用单引号或双引号括住配置项值,否则nginx会报语法错误。

#表示注释

3.在配置中使用变量

有些模块允许使用变量,在变量使用的时候前面要加上$符号。

在执行configure的时候我们已经把许多模块编译进nginx中,但是否启用这些模块一般取决于配置文件中相应的配置项,大部分模块都必须在nginx.conf中读取某个配置项后才会在运行时启用,例如,只有当配置http{...}这个配置项时,ngx_http_module模块才会在nginx中启用,其它依赖ngx_http_module的模块也才能正常使用。

4.nginx服务的基本配置

nginx在运行时至少要加载几个核心模块和一个事件模块。这些模块运行时所支持的配置项称为基本配置项——所有其它模块执行时都依赖的配置项。

nginx基本配置项可以分为四类:用于调试、定位问题的配置项;正常运行必备的配置项;优化性能的配置项;事件配置项。

用于调试和定位问题的配置项

1.是否已守护进程方式运行nginx

daemon on|off

2.是否以master/worker方式工作

master_process on|off

3.error日志设置

error_log /path/file level

error日志时定位nginx问题的最佳工具,我们可以根据自己的需求妥善设置error日志的路径和级别。
/path/file参数可以是一个文件,也可以时/dev/null(这样是关闭error日志),还可以是stderr(输出到标准错误文件)。
level表示日志的输出等级,当设定一个级别之后,大于等于该级别的日志都会被输出到/path/file文件中。

正常运行的配置项

1.定义环境变量

env VAR|VAR=VALUE

2.嵌入其它配置文件

include /path/file

3.指定nginx worker进程可以打开的最大文件句柄数

worker_rlimit_nofile limit;

优化性能的配置项

1.nginx worker进程个数

worker_processes number;

2.绑定nginx worker进程到指定的cpu内核

worker_cpu_affinity cpumask[coumask...]

事件类配置项

1.是否打开accept

accept_mutex[on|off]

accept_mutexnginx里的负载均衡锁,这把锁可以让多个worker进程轮流的、序列化的与新客户端建立tcp连接。

2.使用accept锁后到真正建立连接之间的延迟时间

accetp_mutex_delay Nms;

如果有一个worker进程试图取accept锁而没有取到,它至少要等待Nms的时间间隔之后才能再次取锁。

3.每个worker的最大连接数

 worker_connections number;

定义每个worker进程可以同时处理的最大连接数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值