Nginx

Nginx 知识量:8 - 22 - 84

2.1 Nginx全局配置><

基本配置格式- 2.1.1 -

Nginx的基本配置格式如下:

http {  
    ...  
    server {  
        listen <port>;  
        server_name <domain>;  
        ...  
        location / {  
            ...  
        }  
        ...  
    }  
    ...  
}

这是Nginx配置的基本结构。其中,http块是Nginx配置的顶级块,用于配置全局参数。server块用于配置一个虚拟主机,可以包含多个server块来配置多个虚拟主机。listen指令指定虚拟主机监听的端口号,server_name指令指定虚拟主机的域名。location块用于配置特定路径下的请求处理规则。

Nginx全局配置参数- 2.1.2 -

Nginx的全局配置参数包括以下几个部分:

  • events块:这个块主要用于设置网络连接事件的处理方式。其中,worker_connections参数可以设置每个工作进程可以打开的最大连接数。

  • http块:这个块用于定义服务器的全局配置,包括负载均衡、访问控制、SSL证书等。其中,include指令可以包含其他配置文件,mime.types文件定义了MIME类型,default_type指令设置了默认的MIME类型,sendfile指令可以开启或关闭文件发送功能,keepalive_timeout指令可以设置长连接的超时时间。

在每个http块内部,可以定义多个server块来配置多个虚拟主机。每个server块可以包含多个location块来配置不同的请求处理规则。

在http块中,还可以包含其他块,如worker_processes、events、http等,用于配置Nginx的全局参数、事件处理和业务功能。例如:

http {  
    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;  
            }  
            location /nginx_status {  
                stub_status on;  
                access_log off;  
            }  
        }  
    }  
}

在上述示例中,worker_processes指令指定Nginx启动的工作进程数,events块中的worker_connections指令指定每个工作进程的最大连接数。在http块中,配置了默认的MIME类型、文件发送和连接超时等参数,并定义了一个虚拟主机监听80端口,并指定了资源路径和Nginx状态信息的配置。

使用include文件- 2.1.3 -

Nginx可以使用include指令来包含其他配置文件。include指令可以在任何位置使用,前提是包含的文件自身语法正确。

使用include指令时,可以指定文件的路径。路径可以是绝对路径或相对路径。相对路径以当前配置文件为基准,可以使用通配符。例如:

include /etc/nginx/conf.d/*.conf;

上述配置将包含/etc/nginx/conf.d/目录下所有以.conf为后缀的文件。

需要注意的是,当使用include指令包含文件时,被包含的文件中的指令将被合并到当前配置文件中,并按照出现的顺序进行合并。因此,在使用include指令时,需要确保被包含的文件中的指令不会与当前配置文件中的其他指令发生冲突或重复。

此外,当使用include指令包含文件时,被包含的文件中的变量和指令将继承当前配置文件的上下文。这意味着在包含文件中定义的变量和指令将具有与当前配置文件中相同的值和作用域。