#環境
AWS(Amazon linux AMI)
Ruby(2.6.5)
nginx
unicorn
#分からないこと
初歩的な質問かもしれませんがご回答いただけると嬉しいです。現在AWSにて環境構築中。Railsアプリを作成しています。 諸設定を終え、unicorn,nginxを起動し、アクセスを行ったところ、AWSにて指定した
Elastic IP: 54.???.??.??
ではブラウザ上でアクセスすることに成功したのですが、
パブリック DNSホスト名 (IPv4)ec2-54-???-??-??.ap-northeast-1.compute.amazonaws.com
でアクセスしようとすると
](29d573e0396b09efc23eb5051d86afe9.png)
このような画面が表示されてしまいます。Elastic IPとパブリック DNS (IPv4)では設定方法に違いがあるのでしょうか。参考にできるサイトなどがなく困っています。
#試したこと
VPC →DNSホスト DNS解決をともに有効化にチェックしてあります。Elastic IPの方では問題なくアクセスできているのでnginx unicornの設定は間違っていないかなと思います。
nginx
1# log directory 2error_log /var/www/rails/vb_app/log/nginx.error.log; 3access_log /var/www/rails/vb_app/log/nginx.access.log; 4# max body size 5client_max_body_size 2G; 6upstream app_server { 7 # for UNIX domain socket setups 8 server unix:/var/www/rails/vb_app/tmp/sockets/.unicorn.sock fail_timeout=0; 9} 10server { 11 listen 80; 12 server_name 54.???.??.??; 13 # nginx so increasing this is generally safe... 14 keepalive_timeout 5; 15 # path for static files 16 root /var/www/rails/vb_app/public; 17 # page cache loading 18 try_files $uri/index.html $uri.html $uri @app; 19 location @app { 20 # HTTP headers 21 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 22 proxy_set_header Host $http_host; 23 proxy_redirect off; 24 proxy_pass http://app_server; 25 } 26 # Rails error pages 27 error_page 500 502 503 504 /500.html; 28 location = /500.html { 29 root /var/www/rails/vb_app/public; 30 deny all; 31 } 32}
unicorn
1$worker = 2 2 $timeout = 30 3 $app_dir = "/var/www/rails/vb_app" 4 $listen = File.expand_path 'tmp/sockets/.unicorn.sock', $app_dir 5 $pid = File.expand_path 'tmp/pids/unicorn.pid', $app_dir 6 $std_log = File.expand_path 'log/unicorn.log', $app_dir 7 # set config 8 worker_processes $worker 9 working_directory $app_dir 10 stderr_path $std_log 11 stdout_path $std_log 12 timeout $timeout 13 listen $listen 14 pid $pid 15 # loading booster 16 preload_app true 17 # before starting processes 18 before_fork do |server, worker| 19 defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! 20 old_pid = "#{server.config[:pid]}.oldbin" 21 if old_pid != server.pid 22 begin 23 Process.kill "QUIT", File.read(old_pid).to_i 24 rescue Errno::ENOENT, Errno::ESRCH 25 end 26 end 27 end 28 # after finishing processes 29 after_fork do |server, worker| 30 defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection 31 end 32
#期待される結果
DNSホスト名でブラウザ上にアクセスすることができる。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/10 05:29
2020/08/10 05:36