#課題
AWS上でRailsで制作したアプリをNginxとUnicornを使ってデプロイしようと試みていたとき話です。
お名前.comで購入したドメインをroute53でElasticIPに紐付けて、
いざドメイン名でアプリにアクセスしようとすると
Welcome to nginx on Amazon Linux!
このような文章が含まれた画面が表示され、待てど暮らせど一向にアプリは表示されませんでした。
#解決方法
結論
としては、Nginxの設定がうまく行っていませんでした
Nginxの設定ファイルをviで開きます。
作成していない場合はこちらの記事が参考になるかと思います。
(デプロイ編②)世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで
$ cd /etc/nginx/conf.d
$ vi [アプリ名].conf
# log directory
error_log /var/www/rails/micmatch/log/nginx.error.log; #自分のアプリケーション名に変更
access_log /var/www/rails/micmatch/log/nginx.access.log; #自分のアプリケーション名に変更
# max body size
client_max_body_size 2G;
upstream app_server {
# for UNIX domain socket setups
server unix:/var/www/rails/micmatch/tmp/sockets/.unicorn.sock fail_timeout=0; #自分のアプリケーション名に変更
}
server {
listen 80;
server_name 54.95.78.130; #アプリのElastic IPに変更してください
# nginx so increasing this is generally safe...
keepalive_timeout 5;
# path for static files
root /var/www/rails/micmatch/public;
# page cache loading
try_files $uri/index.html $uri.html $uri @app;
location @app {
# HTTP headers
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
# Rails error pages
error_page 500 502 503 504 /500.html;
location = /500.html {
root /var/www/rails/micmatch/public; #自分のアプリケーション名に変更
}
}