
updated on 2019-07-28
Amazon Linux 2
Rails 5.2.1
ruby 2.4.2
nginx 1.12.2
unicorn 5.5.1
https://www.dragonarrow.work/articles/163 こちらの記事通り、wwwでアクセスできるようにした状態からのスタートとする。
下記の通り、1~4を行い、Aレコードでメインドメインが追加できたことを確認する。

nginx設定ファイルにて、メインドメインでアクセスしたら、wwwのurlにリダイレクトするように指定する。
ちなみに、筆者のアプリ名はfroala-blog、設定ファイルは /etc/nginx/conf.d/froala-blog.conf だが、人によって名前やパスは違うはず
便宜読み換える。
# log directory
error_log /var/www/rails/froala-blog/log/nginx.error.log;
access_log /var/www/rails/froala-blog/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/froala-blog/tmp/sockets/unicorn.sock fail_timeout=0;
}
server {
charset utf-8;
server_name www.example.com [My_Elastic_IP] example.com; # example.com(メインドメイン)を追加
# nginx so increasing this is generally safe...
keepalive_timeout 5;
# path for static files
root /var/www/rails/froala-blog/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 X-Forwarded-Proto https;
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/froala-blog/public;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.example.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
# example.com(メインドメイン)でアクセスしたらwwwつきurlに返す
if ($host = example.com) {
return 301 https://www.$host$request_uri;
} # managed by Certbot
listen 80;
server_name www.example.com [My_Elastic_IP] example.com; # httpでのメインドメインのアクセスを許さない
return 404; # managed by Certbot
}unicorn停止
sudo kill -QUIT `cat /var/www/rails/froala-blog/tmp/pids/unicorn.pid`
unicorn起動
bundle exec unicorn_rails -c /var/www/rails/froala-blog/config/unicorn.conf.rb -D -E production
nginx再起動
sudo service nginx restart
http://example.com, https://examole.com にアクセスすると、https://www.exaple.com でアクセスするようになる。
Thay's all for now!!