conf文件详解
#user nobody;
# 设置了Nginx的工作进程数。这里设置为1,表示只有一个工作进程。通常在多核CPU的服务器上,可以设置为与CPU核心数相等的值以提高性能
worker_processes 1;
# 设置了Nginx工作进程的最大文件打开数量限制。这里设置为65535,这有助于防止因文件描述符耗尽导致的性能问题
worker_rlimit_nofile 65535;
# 设置存储Nginx进程ID的文件路径。这有助于管理和控制Nginx进程
pid logs/nginx.pid;
# 指令用于定义错误日志文件的路径和日志级别。这里设置为/var/log/nginx/error.log,并且日志级别为warn,表示只记录警告级别的错误信息
error_log /var/log/nginx/error.log warn;
events {
# 这个指令设置了每个工作进程能够同时打开的最大连接数。这里设置为1024
worker_connections 1024;
}
# 与HTTP服务相关的配置
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
include mime.types;
default_type application/octet-stream;
# 指令用于添加自定义的HTTP响应头,例如跨域资源共享(CORS)相关的头
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Credentials' 'true';
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技术,可以提高文件传输效率
sendfile on;
#tcp_nopush on;
# 设置了长连接的超时时间
#keepalive_timeout 0;
keepalive_timeout 65;
# upstream定义了服务器组,用于负载均衡
upstream 10.225.225.99 {
server 10.225.225.93:99000 weight=1;
server 10.225.225.96:99001 weight=1;
server 10.225.225.98:99002 weight=1;
server 10.225.225.99:99003 weight=1;
ip_hash;
}
upstream websocket{
server 10.225.225.93:99060 weight=1;
server 10.225.225.96:99061 weight=1;
ip_hash;
}
# 定义了虚拟主机的配置
server {
listen 80;
server_tokens off; # 移除 Server Header
server_name 10.225.225.99;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index default login index.html index.htm default.html default.htm;
proxy_pass http://10.225.225.99;
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
# wait api timeout, 30 mins
proxy_read_timeout 1800;
# set request body size, for import and upload attachement
client_max_body_size 990m;
# compression-webpack-plugin 配置
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
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;
# 配置禁用 gzip 条件,支持正则,此处表示 ie6 及以下不启用 gzip(因为ie低版本不支持)
gzip_disable "MSIE [1-6]\.";
}
location /mqs-ws/ {
proxy_pass http://websocket;
# 设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
# websocket:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
# Nginx 代理公共靜態資源文件夾
# ^~表示如果请求的URI以/static/开头,则使用这个location块的配置。这是用于处理对/static/目录下静态资源的请求
location ^~ /static/ {
# 对于/static/路径下的请求,Nginx将在html目录下寻找对应的文件
root html;
}
# ~表示使用正则表达式匹配请求的URI。这里的正则表达式匹配以/help-sop/开头的请求。这个location块用于处理对/help-sop/目录下文件的请求
location ~ /help-sop/ {
# 对于/help-sop/路径下的请求,Nginx将在html目录下寻找对应的文件
root html;
}
# error_page 404 /404.html;
# 定义了当服务器遇到990、992、993或994错误时,返回的页面是/99x.html
error_page 990 992 993 994 /99x.html;
location = /99x.html {
# 对于请求/99x.html页面的请求,Nginx将在html目录下寻找这个文件
root html;
}
}
}