У меня есть экземпляр AWS Ubuntu с приложением Rails 6 в режиме интеграции Passenger NGINX:
server {
listen 80;
listen [::]:80;
server_name _;
root /home/ubuntu/railsapp/public;
passenger_enabled on;
passenger_app_env production;
location /cable {
passenger_app_group_name railsapp_websocket;
passenger_force_max_concurrent_requests_per_process 0;
}
client_max_body_size 100m;
location ~ ^/(assets|packs) {
expires max;
gzip_static on;
}
}
Я хочу втиснуться в статический сайт, который не получает много хитов.В одиночку его конфиг:
server {
listen 80;
server_name static.site;
root /home/ubuntu/static;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
}
Поэтому я пытаюсь объединить их.Статический сайт в порядке, но приложение Rails не работает (тайм-аут 504):
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name railsapp.site
root /home/ubuntu/railsapp/public;
passenger_enabled on;
passenger_app_env production;
location /cable {
passenger_app_group_name railsapp_websocket;
passenger_force_max_concurrent_requests_per_process 0;
}
client_max_body_size 100m;
location ~ ^/(assets|packs) {
expires max;
gzip_static on;
}
location / {
proxy_pass http://0.0.0.0:3000;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_buffering off;
}
}
server {
listen 80;
server_name static.site;
root /home/ubuntu/static;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
}
Как я могу обслуживать как Rails, так и статические сайты в Passenger + NGINX?