107 lines
3.0 KiB
Nginx Configuration File
107 lines
3.0 KiB
Nginx Configuration File
# user root
|
|
worker_processes auto;
|
|
worker_cpu_affinity auto;
|
|
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
|
|
http {
|
|
|
|
# 设置缓存路径和缓存区大小
|
|
proxy_cache_path /tmp levels=1:2 keys_zone=my_cache:10m max_size=100m inactive=60m use_temp_path=off;
|
|
|
|
sendfile on;
|
|
|
|
keepalive_timeout 3600;
|
|
|
|
server {
|
|
|
|
include /etc/nginx/mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
listen [::]:${NGINX_PORT};
|
|
server_name moviepilot;
|
|
|
|
location / {
|
|
# 主目录
|
|
expires off;
|
|
add_header Cache-Control "no-cache, no-store, must-revalidate";
|
|
root /app/public;
|
|
try_files $uri $uri/ /index.html;
|
|
}
|
|
|
|
location /assets {
|
|
# 静态资源
|
|
expires 7d;
|
|
add_header Cache-Control "public";
|
|
root /app/public;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
location ~ ^/api/v1/system/(message|progress/) {
|
|
# SSE MIME类型设置
|
|
default_type text/event-stream;
|
|
|
|
# 禁用缓存
|
|
add_header Cache-Control no-cache;
|
|
add_header X-Accel-Buffering no;
|
|
proxy_buffering off;
|
|
proxy_cache off;
|
|
|
|
# 代理设置
|
|
proxy_pass http://backend_api;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Connection "";
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
|
|
# 超时设置
|
|
proxy_read_timeout 3600s;
|
|
}
|
|
|
|
location /api {
|
|
# 后端API
|
|
proxy_pass http://backend_api;
|
|
rewrite ^.+mock-server/?(.*)$ /$1 break;
|
|
proxy_http_version 1.1;
|
|
proxy_buffering off;
|
|
proxy_cache off;
|
|
proxy_redirect off;
|
|
proxy_set_header Connection "";
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
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_read_timeout 600s;
|
|
}
|
|
}
|
|
|
|
upstream backend_api {
|
|
# 后端API的地址和端口
|
|
server 127.0.0.1:3001;
|
|
# 可以添加更多后端服务器作为负载均衡
|
|
}
|
|
|
|
}
|