Nginx——Nginx的默认配置语法(Centos7通过yum方式安装)

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx——Nginx的默认配置语法(Centos7通过yum方式安装)相关的知识,希望对你有一定的参考价值。

一、nginx的默认配置文件位置

  • 查看nginx默认配置文件位置命令

    [root@localhost /]# cd /etc/nginx/
    [root@localhost nginx]# ll
    

    在这里插入图片描述

二、Nginx的默认配置文件内容

  • 查看Nginx的默认配置文件内容,执行 cat /etc/nginx/nginx.conf 命令
    [root@localhost /]# cat /etc/nginx/nginx.conf
    # For more information on configuration, see:
    #   * Official English Documentation: http://nginx.org/en/docs/
    #   * Official Russian Documentation: http://nginx.org/ru/docs/
    
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 4096;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen       80;
            listen       [::]:80;
            server_name  _;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            error_page 404 /404.html;
            location = /404.html {
            }
    
            error_page 500 502 503 504 /50x.html;
            location = /50x.html {
            }
        }
    
    # Settings for a TLS enabled server.
    #
    #    server {
    #        listen       443 ssl http2;
    #        listen       [::]:443 ssl http2;
    #        server_name  _;
    #        root         /usr/share/nginx/html;
    #
    #        ssl_certificate "/etc/pki/nginx/server.crt";
    #        ssl_certificate_key "/etc/pki/nginx/private/server.key";
    #        ssl_session_cache shared:SSL:1m;
    #        ssl_session_timeout  10m;
    #        ssl_ciphers HIGH:!aNULL:!MD5;
    #        ssl_prefer_server_ciphers on;
    #
    #        # Load configuration files for the default server block.
    #        include /etc/nginx/default.d/*.conf;
    #
    #        error_page 404 /404.html;
    #            location = /40x.html {
    #        }
    #
    #        error_page 500 502 503 504 /50x.html;
    #            location = /50x.html {
    #        }
    #    }
    
    }
    

三、Nginx 的默认配置文件结构

...              #全局块

events {         #events块
   ...
}

http      #http块
{
    ...   #http全局块
    server        #server块
    { 
        ...       #server全局块
        location [PATTERN]   #location块
        {
            ...
        }
        location [PATTERN] 
        {
            ...
        }
    }
    server
    {
      ...
    }
    ...     #http全局块
}
  • 全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
  • events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
  • http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
  • server块:配置虚拟主机的相关参数,一个http中可以有多个server。
  • location块:配置请求的路由,以及各种页面的处理情况。

四、Nginx的默认配置语法

选项作用
user设置nginx服务的系统使用用户
worker_processes工作进程数
error_log nginx的错误日志
pidnginx服务启动时候pid
events worker_connections每个进程允许最大连接数
use工作进程
  • http标签中include /etc/nginx/conf.d/*.conf部分详解

    include /etc/nginx/conf.d/*.conf 表示包含了/etc/nginx/conf.d/目录下所有以.conf结尾的配置文件

    在这里插入图片描述

  • http标签中server部分详解

    http标签中可以包含多个server标签(即多个http服务);
    server标签中可以包含多个location标签(即多个访问路径);

在这里插入图片描述

五、Nginx的默认配置文件完整解释。

#配置用户或者组,默认为nginx nginx。
user nginx;
#允许生成的进程数,默认为1
worker_processes auto;
#制定日志路径,级别。这个设置可以放入全局块,http块,server块,
#级别以此为:debug|info|notic
error_log /var/log/nginx/error.log;
#指定nginx进程运行文件存放地址
pid /run/nginx.pid;

# 动态加载模块位置
include /usr/share/nginx/modules/*.conf;

#events块
events {
    worker_connections 1024;#最大连接数,默认为1024
}

#http块
http {#http全局块
     #自定义格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    #combined为日志格式的默认值
    access_log  /var/log/nginx/access.log  main;
    #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
    sendfile            on;
    #此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用
    tcp_nopush          on;
    tcp_nodelay         on;
    #连接超时时间,默认为75s,可以在http,server,location块。
    keepalive_timeout   65;
    types_hash_max_size 4096;
    #文件扩展名与文件类型映射表
    include             /etc/nginx/mime.types;
    #默认文件类型,默认为text/plain
    default_type        application/octet-stream;

    #从/etc/nginx/conf加载模块化配置文件
    include /etc/nginx/conf.d/*.conf;
    
    #server块
    server {#server全局块
        listen       80; #监听端口
        listen       [::]:80;
        server_name  _; #监听地址    
        root         /usr/share/nginx/html;

        #加载默认服务器块的配置文件。
        include /etc/nginx/default.d/*.conf;
		#根据http返回的状态码跳转到指定页面
        error_page 404 /404.html;
        #location块
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        #location块
        location = /50x.html {
        }
    }
}

以上是关于Nginx——Nginx的默认配置语法(Centos7通过yum方式安装)的主要内容,如果未能解决你的问题,请参考以下文章

Cento7+Nginx 之 URL重写

Cento7+Nginx反向代理实现多域名跳转

使用 docker 在 CentO 上设置 PHP-FPM、Nginx、Mariadb

Nginx 访问日志配置

Nginx详解七:Nginx基础篇之Nginx官方模块

Linux下Nginx+Tomcat负载均衡和动静分离配置要点