私はRails本番環境の初心者です。他の (80 以外の) ポートで応答するように nginx と unicorn を構成できますか? ドメインは必要ありません。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にアクセスできますが、Rails の URL ヘルパー (たとえば root_url など) にはポート ( http://my_ip ) がありません。
ポート付きの URL ヘルパーを表示するにはどうすればよいですか? NginxまたはUnicornの構成ファイルでこれを行う方法はありますか? 結局、Webrick をローカルで実行すると、URL http://localhost:3000の形式になり、すべての *_url ヘルパーはポート 3000 の URL を返します。いくつかの構成ファイルを変更して、アプリケーションを別のファイルに転送する必要があります。ポート。
ありがとう。