Files

90 lines
2.3 KiB
Plaintext

# Nginx site config for studionoro.ir
# Copy to: /etc/nginx/sites-available/studionoro
# Enable: sudo ln -sf /etc/nginx/sites-available/studionoro /etc/nginx/sites-enabled/
upstream studionoro_web {
server 127.0.0.1:3000;
keepalive 32;
}
upstream studionoro_api {
server 127.0.0.1:4000;
keepalive 32;
}
# --- Main website (Nuxt) ---
server {
listen 80;
listen [::]:80;
server_name studionoro.ir www.studionoro.ir;
client_max_body_size 200M;
location / {
proxy_pass http://studionoro_web;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 60s;
}
}
# --- Admin panel (Vue static build) ---
server {
listen 80;
listen [::]:80;
server_name admin.studionoro.ir;
root /var/www/studionoro/admin/dist;
index index.html;
client_max_body_size 200M;
location /api/ {
proxy_pass http://studionoro_api;
proxy_http_version 1.1;
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_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
client_max_body_size 200M;
}
location /uploads/ {
proxy_pass http://studionoro_api;
proxy_http_version 1.1;
proxy_set_header Host $host;
expires 30d;
add_header Cache-Control "public, immutable";
}
location / {
try_files $uri $uri/ /index.html;
}
}
# --- API backend ---
server {
listen 80;
listen [::]:80;
server_name api.studionoro.ir;
client_max_body_size 200M;
location / {
proxy_pass http://studionoro_api;
proxy_http_version 1.1;
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_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
}