Я нуб в производственной среде рельсов. Могу ли я настроить nginx и unicorn для ответа на другой (не 80) порт? Мне не нужны никакие домены, мне нужен только ip и порт. Вот конфигурация nginx для моего приложения (порт 80):
server {
listen 80;
server_name localhost;
root /home/my_app_folder/web-app/public;
client_max_body_size 32m;
location / {
try_files $uri @unicorn;
}
location @unicorn {
proxy_set_header Client-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://unix:/home/my_app_folder/web-app/tmp/sockets/unicorn.sock;
}
}
Мое приложение отлично работает с 80 портом. Например, если я изменю 80 на 3000, как здесь:
server {
listen 3000;
server_name localhost;
root /home/my_app_folder/web-app/public;
client_max_body_size 32m;
location / {
try_files $uri @unicorn;
}
location @unicorn {
proxy_set_header Client-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://unix:/home/my_app_folder/web-app/tmp/sockets/unicorn.sock;
}
}
У меня возникла проблема. Все работает нормально, я могу перейти на http://my_ip:3000, но помощники URL-адресов Rails (например, root_url и т. д.) не имеют порта (http://my_ip >).
Что я могу сделать, чтобы увидеть помощники URL с портом? Есть ли способ сделать это в файлах конфигурации Nginx или, может быть, Unicorn? В конце концов, когда я запускаю Webrick локально, он имеет вид URL http://localhost:3000 и каждый помощник *_url вернуть URL-адрес с портом 3000. Мне нужно изменить несколько файлов конфигурации и перенести приложение на другой порт.
Спасибо.