前提・実現したいこと
ここに質問の内容を詳しく書いてください。
EC2に個人開発したアプリを手動でデプロイし、
Nginxを導入し使えるようにしたい。
発生している問題・エラーメッセージ
2020/11/09 01:52:51 [emerg] 12812#0: unknown directive "xx.xxx.xx.xx;" in /etc/nginx/conf.d/rails.conf:14 2020/11/09 05:00:51 [emerg] 15950#0: unknown directive "xx.xxx.xx.xx;" in /etc/nginx/conf.d/rails.conf:14 /var/log/nginx/error.log (END)
修正後↓
EC2ターミナル
1[ec2-user@ip-172-31-45-251 ~]$ nginx -t 2nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied) 32020/11/09 08:16:16 [warn] 16862#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:5 4nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 52020/11/09 08:16:16 [emerg] 16862#0: open() "/run/nginx.pid" failed (13: Permission denied) 6nginx: configuration file /etc/nginx/nginx.conf test failed 7[ec2-user@ip-172-31-45-251 ~]$ sudo systemctl start nginx 8[ec2-user@ip-172-31-45-251 ~]$ sudo systemctl reload nginx 9[ec2-user@ip-172-31-45-251 ~]$ 10 11おそらく問題なくnginxを起動することができたと思います。
###該当のソースコード
/etc/nginx/conf.d/rails.conf upstream app_server { # Unicornと連携させるための設定 server unix:/var/www/nostalgia/tmp/sockets/unicorn.sock; } # {}で囲った部分をブロックと呼ぶ。サーバの設定ができる server { # このプログラムが接続を受け付けるポート番号 listen 80; # 接続を受け付けるリクエストURL ここに書いていないURLではアクセスできない server_name Elastic IP;xx.xxx.xx.xx; # クライアントからアップロードされてくるファイルの容量の上限を2ギガに設定。デフォルトは1メガなので大きめにしておく client_max_body_size 2g; # 接続が来た際のrootディレクトリ root /var/www/nostalgia/public; # assetsファイル(CSSやJavaScriptのファイルなど)にアクセスが来た際に適用される設定 location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @unicorn; location @unicorn { 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; } error_page 500 502 503 504 /500.html; } ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "/etc/nginx/conf.d/rails.conf" 36L, 1216C
↓修正後のコード
Nginx
1upstream app_server { 2 # Unicornと連携させるための設定 3 server unix:/var/www/nostalgia/tmp/sockets/unicorn.sock; 4} 5 6# {}で囲った部分をブロックと呼ぶ。サーバの設定ができる 7server { 8 # このプログラムが接続を受け付けるポート番号 9 listen 80; 10 # 接続を受け付けるリクエストURL ここに書いていないURLではアクセスできない 11 server_name xx.xxx.xx.xx; 12 13 # クライアントからアップロードされてくるファイルの容量の上限を2ギガに設定。デフォルトは1メガなので大きめにしておく 14 client_max_body_size 2g; 15 16# 接続が来た際のrootディレクトリ 17 root /var/www/nostalgia/public; 18 19# assetsファイル(CSSやJavaScriptのファイルなど)にアクセスが来た際に適用される設定 20 location ^~ /assets/ { 21 gzip_static on; 22 expires max; 23 add_header Cache-Control public; 24 } 25 26 try_files $uri/index.html $uri @unicorn; 27 28 location @unicorn { 29 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 30 proxy_set_header Host $http_host; 31 proxy_redirect off; 32 proxy_pass http://app_server; 33 } 34 35 error_page 500 502 503 504 /500.html; 36
試したこと
エラーログをみてアプリのIアドレスの入力を間違えていたのかも考え、
/etc/nginx/conf.d/rails.confを再度編集し、
Elastic IPアドレスを確認し書き直してみましたが、Elastic IPアドレスには問題がなさそうでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/09 07:40
2020/11/09 08:24
2020/11/09 09:13
2020/11/09 12:22