配置文件的内容解释和简化方案"/>
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 {# ....
}
- events 部分:配置 Nginx 服务器的事件处理, worker_connections 指定了每个 worker 进程的最大连接数为 1024。
- 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配置文件的内容解释和简化方案
发布评论