Nginx + Unicorn + RailsでWebアプリを構築する
Nginx
/etc/nginx/conf.d/nginx.conf
upstream unicorn {
server unix:/opt/app/tmp/sockets/unicorn.sock;
}
server {
listen 80;
server_name localhost;
root /opt/app/public;
try_files $uri/index.html $uri @unicorn;
location @unicorn {
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_pass http://unicorn;
}
error_page 500 502 503 504 /500.html;
error_page 404 /404.html;
}
Unicorn
/opt/app/config/unicorn.rb
# -*- coding: utf-8 -*
application = "app"
working_directory = "/opt/app/"
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 15
preload_app true
listen "/opt/app/tmp/sockets/unicorn.sock"
pid "/opt/app/tmp/sockets/unicorn.pid"
# ログの出力
stderr_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT'])
stdout_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT'])
今回、問題となったのはuniconのsockファイルを/tmp直下に配置していました。てアクセスすると502エラーとなります。原因は以下で言及されています。
http://blog.tnantoka.com/posts/49/versions/current
CentOS7では、NginxとUnicorn間で/tmpに配置したファイルを共有できないようです。ファイルのパスを変更したら、問題なく動作しました。
Author And Source
この問題について(Nginx + Unicorn + RailsでWebアプリを構築する), 我々は、より多くの情報をここで見つけました https://qiita.com/kaikusakari/items/bf86d065321397e61106著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .