nginx配置的通用语法

青旅半醒 2021-06-26 16:06 516阅读 0赞

1.块配置项

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

  1. events{
  2. ...
  3. }
  4. http{
  5. upstream backend{
  6. server 127.0.0.1:8080;
  7. }
  8. gzip on;
  9. }

上面的代码中,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

  1. daemon on|off

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

  1. master_process on|off

3.error日志设置

  1. error_log /path/file level

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

正常运行的配置项

1.定义环境变量

  1. env VAR|VAR=VALUE

2.嵌入其它配置文件

  1. include /path/file

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

  1. worker_rlimit_nofile limit;

优化性能的配置项

1.nginx worker进程个数

  1. worker_processes number;

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

  1. worker_cpu_affinity cpumask[coumask...]

事件类配置项

1.是否打开accept

  1. accept_mutex[on|off]

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

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

  1. accetp_mutex_delay Nms;

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

3.每个worker的最大连接数

  1. worker_connections number;

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

发表评论

表情:
评论列表 (有 0 条评论,516人围观)

还没有评论,来说两句吧...

相关阅读

    相关 nginx配置语法

    Nginx 基础配置 在了解具体的Nginx配置项之前我们需要对于Nginx配置文件的构成有所概念,一般来说,Nginx配置文件会由如下几个部分构成: \ 全局块