nginx配置文件的内容解释和简化方案

编程入门 行业动态 更新时间:2024-10-25 16:29:23

nginx<a href=https://www.elefans.com/category/jswz/34/1770506.html style=配置文件的内容解释和简化方案"/>

nginx配置文件的内容解释和简化方案

文章目录

  • 配置文件内容理解
  • 配置文件精简
    • nginx.conf
    • app1.conf

配置文件内容理解

events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;client_max_body_size     50m;client_body_buffer_size  10m; client_header_timeout    1m;client_body_timeout      1m;gzip on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_comp_level  4;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary on;
server {listen       80;server_name  www.xxx.website;location / {		root   /usr/local/blog;index  index.html index.htm; try_files $uri $uri/ /index.html;	}location ^~ /api/ {		proxy_pass :8080/;proxy_set_header   Host             $host;proxy_set_header   X-Real-IP        $remote_addr;						proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;}}server {listen       80;server_name  admin.xxx.website;location / {		root   /usr/local/admin;index  index.html index.htm; try_files $uri $uri/ /index.html;	}location ^~ /api/ {		proxy_pass :8080/;proxy_set_header   Host             $host;proxy_set_header   X-Real-IP        $remote_addr;						proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;}}
}
  • Nginx 配置文件包含两个不同子域(www.xxx.website 和 admin.xxx.website)的应用配置的 Nginx 服务器。

events {worker_connections  1024;
}http {# ....
}
  1. events 部分:配置 Nginx 服务器的事件处理, worker_connections 指定了每个 worker 进程的最大连接数为 1024。
  2. http 部分:定义 HTTP 协议相关的配置。
http {include       mime.types; # 包含了 MIME 类型的配置文件,用于识别不同类型的文件default_type  application/octet-stream; # 设置默认的 MIME 类型为二进制流sendfile        on; # 启用 sendfile 指令,用于高效地传输文件keepalive_timeout  65; # 设置 HTTP keep-alive 连接的超时时间为 65 秒client_max_body_size     50m; # 设置客户端请求体的最大大小为 50MBclient_body_buffer_size  10m; # 设置客户端请求体缓冲区大小为10MBclient_header_timeout    1m;  # 设置客户端请求头的超时时间为1分钟client_body_timeout      1m;  # 设置客户端请求体的超时时间为1分钟# gzip 相关配置用于启用和配置 Gzip 压缩gzip on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_comp_level  4;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary on;# ...
}

  • server 部分:定义两个虚拟主机(server)
	server {listen       80; # 指定 Nginx 监听的端口为 80server_name  www.xxx.website; # 指定服务器的域名# 配置 Nginx 记录访问日志和错误日志access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;# 定义静态文件的根目录和默认文件location / {		root   /usr/local/blog;index  index.html index.htm;# 使用 try_files 指令,如果请求的文件不存在,则会重定向到 /index.html try_files $uri $uri/ /index.html;	}# 代理到后端 API 服务器 并设置了一些代理请求头,如 Host、X-Real-IP、X-Forwarded-For		 location ^~ /api/ {		proxy_pass :8080/;proxy_set_header   Host             $host;proxy_set_header   X-Real-IP        $remote_addr;						proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;}}		

配置文件精简

  • Nginx的通用配置放到nginx.conf文件中,而站点特定的配置则被放到了单独的文件中。这种方式使得配置文件更易读和维护。
  • 以下是一个简化的nginx.conf示例,其中包含了一个简单站点的配置:

nginx.conf

worker_processes auto;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;client_max_body_size     50m;client_body_buffer_size  10m; client_header_timeout    1m;client_body_timeout      1m;gzip on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_comp_level  4;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary on;include /etc/nginx/sites-enabled/*;  # 包含站点配置文件
}
  • 然后,在/etc/nginx/sites-enabled/目录下,创建一个单独的配置文件,比如app1,包含你之前提供的服务器配置:/etc/nginx/sites-enabled/app1

app1.conf

server {listen 80;server_name xxx;access_log /var/log/nginx/xxx_access.log;error_log /var/log/nginx/xxx_error.log;location / {        root /usr/local/carehome_vue;index index.html index.htm;try_files $uri $uri/ /index.html;}location ^~ /api/ {        proxy_pass http://xxx:8080/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;                     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

更多推荐

nginx配置文件的内容解释和简化方案

本文发布于:2023-12-08 11:34:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1672656.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:配置文件   方案   内容   nginx

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!