From a66341ac56dde1a615742df8dba7d19e72b6ac5b Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 9 Jul 2023 09:42:02 +0800 Subject: [PATCH] fix nginx conf --- nginx.conf | 156 +++++++++++++++++++---------------------------------- 1 file changed, 54 insertions(+), 102 deletions(-) diff --git a/nginx.conf b/nginx.conf index d98d6376..ec274017 100644 --- a/nginx.conf +++ b/nginx.conf @@ -2,130 +2,82 @@ worker_processes auto; worker_cpu_affinity auto; -#error_log logs/error.log; -#error_log logs/error.log notice; -#error_log logs/error.log info; - -#pid logs/nginx.pid; - events { - worker_connections 1024; + 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"'; + # 设置缓存路径和缓存区大小 + proxy_cache_path /tmp/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=100m inactive=60m use_temp_path=off; - #access_log logs/access.log main; + sendfile on; - sendfile on; - #tcp_nopush on; - - #keepalive_timeout 0; - keepalive_timeout 3600; - - #gzip on; + keepalive_timeout 3600; server { include /etc/nginx/mime.types; - default_type application/octet-stream; + default_type application/octet-stream; - listen 3000; - server_name moviepilot; + listen 3000; + server_name moviepilot; - #charset koi8-r; - - #access_log logs/host.access.log main; location / { - expires 600s; - add_header Cache-Control must-revalidate; - root /app/public; - index index.html; + expires 600s; + add_header Cache-Control must-revalidate; + root /app/public; + index index.html; } - + + location /api/v1/site/icon/ { + # 站点图标缓存 + proxy_cache my_cache; + # 缓存响应码为200和302的请求1小时 + proxy_cache_valid 200 302 1h; + # 缓存其他响应码的请求5分钟 + proxy_cache_valid any 5m; + # 缓存键的生成规则 + proxy_cache_key "$scheme$request_method$host$request_uri"; + proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; + + # 向后端API转发请求 + proxy_pass http://backend_api; + + # 设置缓存忽略的请求头 + proxy_ignore_headers Cache-Control; + proxy_ignore_headers Set-Cookie; + + # 设置缓存绕过的条件 + proxy_cache_bypass $http_cache_control $http_pragma $http_authorization; + proxy_no_cache $http_cache_control $http_pragma $http_authorization; + } + location /api { - proxy_pass http://127.0.0.1:3001; - rewrite ^.+mock-server/?(.*)$ /$1 break; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header X-Nginx-Proxy true; - proxy_redirect off; - } - - #error_page 404 /404.html; - - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; + # 后端API + proxy_pass http://backend_api; + rewrite ^.+mock-server/?(.*)$ /$1 break; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Nginx-Proxy true; + proxy_redirect off; } - # proxy the PHP scripts to Apache listening on 127.0.0.1:80 - # - #location ~ \.php$ { - # proxy_pass http://127.0.0.1; - #} + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } - # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 - # - #location ~ \.php$ { - # root html; - # fastcgi_pass 127.0.0.1:9000; - # fastcgi_index index.php; - # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; - # include fastcgi_params; - #} - - # deny access to .htaccess files, if Apache's document root - # concurs with nginx's one - # - #location ~ /\.ht { - # deny all; - #} } + upstream backend_api { + # 后端API的地址和端口 + server 127.0.0.1:3001; + # 可以添加更多后端服务器作为负载均衡 + } - # another virtual host using mix of IP-, name-, and port-based configuration - # - #server { - # listen 8000; - # listen somename:8080; - # server_name somename alias another.alias; - - # location / { - # root html; - # index index.html index.htm; - # } - #} - - - # HTTPS server - # - #server { - # listen 443 ssl; - # server_name localhost; - - # ssl_certificate cert.pem; - # ssl_certificate_key cert.key; - - # ssl_session_cache shared:SSL:1m; - # ssl_session_timeout 5m; - - # ssl_ciphers HIGH:!aNULL:!MD5; - # ssl_prefer_server_ciphers on; - - # location / { - # root html; - # index index.html index.htm; - # } - #} - -} \ No newline at end of file +}