前言

yum -y install nginx

在使用Yum安装Nginx后,往往不知道nginx的配置文件目录。本文将从配置文件的目录位置开始讲起,然后详细讲解nginx.conf配置文件。

配置文件目录

  1. nginx.conf
    nginx的主配置文件为nginx.conf
    /etc/nginx/nginx.conf
  2. conf.d
    自定义的配置文件
    /etc/nginx/conf.d
  3. 初始项目文件
    初始项目文件存目录
    /usr/share/nginx/html/
  4. 日志文件
    日志文件目录
    /var/log/nginx/

主配置文件nginx.conf详解

#指定可以运行nginx服务的用户和用户组,只能在全局块配置
#如user [user] [group]
#将user指令注释掉,或者配置成nobody的话所有用户都可以运行
user nginx;
#启动工作进程的数量(auto代表进程数量自动,与服务器的物理cpu的内核数对应)
worker_processes auto;
#错误日志的存放位置
error_log /var/log/nginx/error.log;
#指定PID文件存放位置(pid文件为文本文件,内容只有一行, 记录了该进程的ID)
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;
#每个工作进程创建多少个链接,默认1024
events {
    worker_connections 1024;
}
#设置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"';
    #访问日志的路径
    access_log  /var/log/nginx/access.log  main;
    #零拷贝
    sendfile            on;
    #开启高效传输模式
    tcp_nopush          on;
    #激活tcp_nopush参数可以允许把http response header和文件的开始放在一个文件里发布,作用是减少网络报文段的数量
    tcp_nodelay         on;
    #连接超时时间
    keepalive_timeout   65;
    #为了快速处理静态数据集,例如服务器名称, 映射指令的值,MIME类型,请求头字符串的名称,nginx使用哈希表
    types_hash_max_size 4096;

    #引入其他配置文件 (mime.types为浏览器指明应该解析的格式)
    include             /etc/nginx/mime.types;
    #如果mime类型没匹配上,默认使用二进制流的方式传输。
    default_type        application/octet-stream;

    #加载模块化配置文件
    include /etc/nginx/conf.d/*.conf;

    #基于端口的虚拟主机
    #配置基于端口的虚拟主机需要修改不同server的监听端口号,主机名为本机IP或者域名
    server {
        #监听端口号IPv4
        listen       82;
        #监听端口号IPv6
        listen       [::]:82;
        #主机名 (IP)
        server_name  _;
        #站点根目录(网站程序存放目录)
        root         /usr/share/nginx/html;
        #默认服务器块的加载配置文件
        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 {
        }
    }
    #基于IP的虚拟主机
    #配置基于IP的虚拟主机需要修改不同虚拟主机的主机名为不同的IP
    server {
        #监听端口号IPv4
        listen       80;
        #监听端口号IPv6
        listen       [::]:80;
        #主机名 (IP)
        server_name  _;
        #站点根目录(网站程序存放目录)
        root         /usr/share/nginx/html;
        #默认服务器块的加载配置文件
        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 {
        }
    }
    #基于域名的虚拟主机
    #配置基于域名的虚拟主机需要修改虚拟主机的主机名为域名
    server {
        #监听端口号IPv4
        listen       80;
        #监听端口号IPv6
        listen       [::]:80;
        #主机名 (域名)
        server_name  _;
        #站点根目录(网站程序存放目录)
        root         /usr/share/nginx/html;
        #默认服务器块的加载配置文件
        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 {
        }
    }
}