OPS Nginx 配置文件

配置文件

Nginx安装目录下,其默认的配置文件都放在conf目录中。

其中包括主配置文件nginx.conf,后续对Nginx的使用基本上都是对配置文件进行相应的修改:

$ ls /usr/local/nginx/conf/

fastcgi.conf            koi-win             scgi_params
fastcgi.conf.default    mime.types          scgi_params.default
fastcgi_params          mime.types.default  uwsgi_params
fastcgi_params.default  nginx.conf          uwsgi_params.default
koi-utf                 nginx.conf.default  win-utf

配置文件中有很多#的注释,去掉所有以#开头的注释获得以下内容:

$ cat /usr/local/nginx/conf/nginx.conf | grep -v "^.*#"

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

如上所示,我们可以将整个配置文件分为3大部分。

Global block

功能概述

整个global block的配置从开头起始,直到events位置结束:

worker_processes  1;

主要配置一些影响全局Nginx服务的指令。

包括运行Nginx服务器的用户、用户组允许生成的工作进程数量、进程PID存放路径、日志存储路径和类型以及配置文件引入等。

如上配置代表允许生成的工作进程数量,该数值理论上来说越大,Nginx所能承受的并发量就越高,但具体还受到硬件条件等诸多限制因素。

Events block

功能概述

events花括号中包裹的配置项,如:

events {
    worker_connections  1024;
}

该区域的配置项主要影响Nginx服务与用户的网络链接。

常用的设置包括是否开启对多work process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个word process可以同时支持的最大连接数等。

如上配置代表每个工作进程最大支持的链接数为1024。

该部分对Nginx性能影响较大,在实际中应当灵活进行配置。

Http block

功能概述

http block花括号中包裹的配置项,如:

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

在其中又包含、http global block、http server block等子配置块。

http block算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。

http global block

如下,这几条配置属于http global block范畴:

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

配置项包括文件引入、MIME-TYPE类型定义、日志自定义、链接超时时间、单链接请求数上限等配置。

http server block

如下,这几条配置属于http server block范畴:

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

在其中又包含、http server global block、http server location block等子配置块。

这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。

每个http块可以包括多个http server block,而每个http server block就相当于一个虚拟主机。而每个http server block也分为全局http server global block,以及可以同时包含多个http server location block。

1)http server global block

最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP 配置。

2)http server location block

这块的主要作用是基 Nginx服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称(也可以是 IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。

提供地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。

posted @ 2021-04-06 21:33  云崖君  阅读(76)  评论(0编辑  收藏  举报