nginx文件夹内文件解释<六>

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: nginx文件夹内文件解释<六>

nginx.conf解释

[root@release nginx]# more 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 default_server;
        listen       [::]:80 default_server;
        server_name  _ default_server;
        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 {
        }
    }
    }

nginx.conf 是Nginx服务器的主配置文件,定义了Nginx的全局设置和行为,包括工作进程、日志记录、事件处理和HTTP服务的配置。下面是文件内容的详细解释:

文件内容解释

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/
  • 这是文件开头的注释,提供了Nginx官方文档的链接,分别是英文和俄文文档。
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
  • user nginx;:指定Nginx进程运行的用户和用户组。
  • worker_processes auto;:自动检测并设置工作进程数,通常等于CPU核心数。
  • error_log /var/log/nginx/error.log;:指定错误日志的存储路径。
  • pid /run/nginx.pid;:指定存储Nginx进程ID文件的路径。
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
  • include /usr/share/nginx/modules/*.conf;:加载动态模块的配置文件。
events {
    worker_connections 1024;
}
  • 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;
  • http { ... }:定义HTTP相关的设置。
  • log_format main ...:定义日志格式,记录客户端IP地址、用户、请求时间、请求内容、状态码、发送的字节数、引用页面、用户代理、X-Forwarded-For头信息。
  • access_log /var/log/nginx/access.log main;:指定访问日志的存储路径和格式。
  • sendfile on;:启用sendfile功能,提高文件传输效率。
  • tcp_nopush on;:启用tcp_nopush,优化TCP数据传输。
  • tcp_nodelay on;:启用tcp_nodelay,减少网络延迟。
  • keepalive_timeout 65;:设置keep-alive超时时间为65秒。
  • types_hash_max_size 4096;:设置MIME类型哈希表的最大大小。
  • include /etc/nginx/mime.types;:包含MIME类型文件的配置。
  • default_type application/octet-stream;:默认的MIME类型为二进制流。
# 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;
  • include /etc/nginx/conf.d/*.conf;:包含位于 /etc/nginx/conf.d 目录下的所有配置文件。
server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _ default_server;
        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 {
        }
    }
}
  • server { ... }:定义一个服务器块,配置默认的服务器设置。
  • listen 80 default_server;:监听80端口,设置为默认服务器。
  • listen [::]:80 default_server;:监听IPv6的80端口,设置为默认服务器。
  • server_name _ default_server;:设置服务器名称为默认服务器。
  • root /usr/share/nginx/html;:定义服务器的根目录。
  • include /etc/nginx/default.d/*.conf;:包含位于 /etc/nginx/default.d 目录下的所有配置文件。
  • error_page 404 /404.html;:指定404错误页面为 /404.html。
  • location = /404.html { ... }:处理访问 /404.html 请求的位置。
  • error_page 500 502 503 504 /50x.html;:指定500、502、503和504错误页面为 /50x.html。
  • location = /50x.html { ... }:处理访问 /50x.html 请求的位置。

总结

nginx.conf 文件是Nginx的主配置文件,定义了全局设置、事件处理、HTTP服务和默认服务器的配置。通过这个文件,可以设置Nginx的运行环境、日志记录、模块加载、HTTP请求处理和错误页面等。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
|
1月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
138 0
|
3月前
|
JavaScript 应用服务中间件 PHP
nginx server 禁止特定目录下的某类文件访问
【8月更文挑战第26天】这段Nginx配置代码旨在保护`/uploads/`目录下的文件,禁止执行任何`.php`, `.html`, `.htm`, 或 `.js`等潜在有害文件,即便被访问也无法运行。取而代之的是重定向到首页。为了实现这一设置,用户需要定位到对应子域名的`.conf`配置文件中进行相应修改。若网站支持多个访问域名,则需确保在正确的`.conf`文件中实施此配置。
94 1
|
3月前
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
131 1
|
3月前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
679 0
|
4月前
|
应用服务中间件 nginx Ruby
nginx文件夹内文件解释<七>
nginx文件夹内文件解释<七>
39 2
|
4月前
|
缓存 应用服务中间件 开发工具
Ngnix配置文件nginx.conf的文件结构
Ngnix配置文件nginx.conf的文件结构
|
4月前
|
应用服务中间件 nginx
nginx文件夹内文件解释<八>
nginx文件夹内文件解释<八>
180 0
|
24天前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
1月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
253 0