お世話になっております。
下記の問題で知見がある方がいらっしゃいまいたらご教示お願いします。
#起きている問題
nginx+unicorn+rails
でサーバの構築をし、AWS
上のEC2
にALB
を経由してアクセスを試みているのですが、上記のように『このサイトにアクセスできません』と表示されてしまいます。
#確認したこと
####Nginxが起動していることを確認
$ ps aux | grep nginx root 4855 0.0 0.2 125708 2192 ? Ss 20:48 0:00 nginx: master process /usr/sbin/nginx nginx 4857 0.0 0.4 126140 4976 ? S 20:48 0:00 nginx: worker process ryouya 4968 0.0 0.0 119436 944 pts/0 S+ 21:10 0:00 grep --color=auto nginx
####Unicornが起動していることを確認
$ cat unicorn.log : : I, [2020-05-18T20:21:22.358485 #4510] INFO -- : reaped #<Process::Status: pid 4518 exit 0> worker=0 I, [2020-05-18T20:21:22.358671 #4510] INFO -- : reaped #<Process::Status: pid 4520 exit 0> worker=1 I, [2020-05-18T20:21:22.358736 #4510] INFO -- : master complete I, [2020-05-18T20:21:24.819228 #4697] INFO -- : Refreshing Gem list I, [2020-05-18T20:21:26.788253 #4697] INFO -- : unlinking existing socket=/var/www/rails/coffee_app/tmp/sockets/.unicorn.sock I, [2020-05-18T20:21:26.788432 #4697] INFO -- : listening on addr=/var/www/rails/coffee_app/tmp/sockets/.unicorn.sock fd=11 I, [2020-05-18T20:21:26.843668 #4697] INFO -- : master process ready I, [2020-05-18T20:21:26.850775 #4707] INFO -- : worker=1 ready I, [2020-05-18T20:21:26.851214 #4705] INFO -- : worker=0 ready $ ps -ef | grep unicorn | grep -v grep ryouya 4697 1 0 20:21 ? 00:00:01 unicorn_rails master -c /var/www/rails/coffee_app/config/unicorn.conf.rb -D -E production ryouya 4705 4697 0 20:21 ? 00:00:00 unicorn_rails worker[0] -c /var/www/rails/coffee_app/config/unicorn.conf.rb -D -E production ryouya 4707 4697 0 20:21 ? 00:00:00 unicorn_rails worker[1] -c /var/www/rails/coffee_app/config/unicorn.conf.rb -D -E production
####セキュリティグループの設定
セキュリティグループ設定のインバウンドは80番を許可していることを確認しました。
####ssl設定をfalseに設定していることを確認(まだssl証明書を発行してないため)
config/environments/production.rb
: config.force_ssl = false :
####ローカル上、EC2上で『curl http://IPアドレス/』を打った時に下記が返ってくる
$ curl http://IPアドレス/ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Test Page for the Nginx HTTP Server on Amazon Linux</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> /*<![CDATA[*/ body { background-color: #fff; color: #000; font-size: 0.9em; font-family: sans-serif,helvetica; margin: 0; padding: 0; } :link { color: #c00; } :visited { color: #c00; } a:hover { color: #f50; } h1 { text-align: center; margin: 0; padding: 0.6em 2em 0.4em; background-color: #294172; color: #fff; font-weight: normal; font-size: 1.75em; border-bottom: 2px solid #000; } h1 strong { font-weight: bold; font-size: 1.5em; } h2 { text-align: center; background-color: #3C6EB4; font-size: 1.1em; font-weight: bold; color: #fff; margin: 0; padding: 0.5em; border-bottom: 2px solid #294172; } hr { display: none; } .content { padding: 1em 5em; } .alert { border: 2px solid #000; } img { border: 2px solid #fff; padding: 2px; margin: 2px; } a:hover img { border: 2px solid #294172; } .logos { margin: 1em; text-align: center; } /*]]>*/ </style> </head> <body> <h1>Welcome to <strong>nginx</strong> on Amazon Linux!</h1> <div class="content"> <p>This page is used to test the proper operation of the <strong>nginx</strong> HTTP server after it has been installed. If you can read this page, it means that the web server installed at this site is working properly.</p> <div class="alert"> <h2>Website Administrator</h2> <div class="content"> <p>This is the default <tt>index.html</tt> page that is distributed with <strong>nginx</strong> on Amazon Linux. It is located in <tt>/usr/share/nginx/html</tt>.</p> <p>You should now put your content in a location of your choice and edit the <tt>root</tt> configuration directive in the <strong>nginx</strong> configuration file <tt>/etc/nginx/nginx.conf</tt>.</p> </div> </div> <div class="logos"> <a href="http://nginx.net/"><img src="nginx-logo.png" alt="[ Powered by nginx ]" width="121" height="32" /></a> </div> </div> </body> </html>
※ローカル上、EC2上でも結果は変わりませんでした。
####nginx.access.logでは正常に応答していることを確認
$ tail nginx.access.log 10.0.0.229 - - [18/May/2020:20:21:02 +0000] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/2.0" 10.0.1.250 - - [18/May/2020:20:21:03 +0000] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/2.0" 10.0.0.229 - - [18/May/2020:20:21:12 +0000] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/2.0"
####nginx.error.log、unicorn.log
上記ファイルについてはWebにアクセスした際にエラーは出力されていませんでした。
####ブラウザの履歴を削除
ブラウザの履歴を削除したのですが、解決しませんでした。
#関連ファイル
####coffee_app.conf(Nginxの設定ファイル)
error_log /var/www/rails/coffee_app/log/nginx.error.log; access_log /var/www/rails/coffee_app/log/nginx.access.log; upstream unicorn_server { server unix:/var/www/rails/coffee_app/tmp/sockets/.unicorn.sock fail_timeout=0; } server { listen 80; client_max_body_size 4G; server_name 54.250.29.214; keepalive_timeout 5; # Location of our static files root /var/www/rails/coffee_app/public; location ~ ^/assets/ { root /var/www/rails/coffee_app/public; } location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; if (!-f $request_filename) { proxy_pass http://unicorn_server; break; } } error_page 500 502 503 504 /500.html; location = /500.html { root /var/www/rails/coffee_app/public; } }
####unicorn.conf.rb
$worker = 2 $timeout = 30 $app_dir = "/var/www/rails/coffee_app" $listen = File.expand_path 'tmp/sockets/.unicorn.sock', $app_dir $pid = File.expand_path 'tmp/pids/unicorn.pid', $app_dir $std_log = File.expand_path 'log/unicorn.log', $app_dir # set config worker_processes $worker working_directory $app_dir stderr_path $std_log stdout_path $std_log timeout $timeout listen $listen pid $pid # loading booster preload_app true # before starting processes before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! old_pid = "#{server.config[:pid]}.oldbin" if old_pid != server.pid begin Process.kill "QUIT", File.read(old_pid).to_i rescue Errno::ENOENT, Errno::ESRCH end end end after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end
#環境
Rails 5.1.6
Ruby 2.5.1
Unicorn 5.4.1
Nginx 1.12.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/13 01:56