質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1375閲覧

nginxが起動しません

taku_ynwa

総合スコア4

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/09/13 08:39

編集2021/09/13 12:24

#分からないこと
railsで投稿系アプリを作成しました。
このアプリをAWSを使ってデプロイをしようとしています。

EC2を作成し、nginxをインストールしました。
設定が完了したのですが、起動すると下記のエラーが出ました。

Redirecting to /bin/systemctl restart nginx.service Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

ログ通りに詳しく確認すると

systemctl status nginx.service
nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since 月 2021-09-13 07:20:17 UTC; 16s ago Process: 24642 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 3796 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE) Process: 3795 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 24644 (code=exited, status=0/SUCCESS)
sudo nginx -t
nginx: [emerg] unexpected end of file, expecting "}" in /etc/nginx/conf.d/アプリ名.conf:5 nginx: configuration file /etc/nginx/nginx.conf test failed

設定の{}に問題があるのかと思い確認すると、
下記コマンド(gakutabiというアプリ名)

[ec2-user@ip-10-0-0-53 gakutabi]$ sudo vim /etc/nginx/conf.d/gakutabi.conf
error_log /var/www/rails/gakutabi/log/nginx.error.log; access_log /var/www/rails/gakutabi/log/nginx.access.log; upstream unicorn_server { server unix:/var/www/rails/gakutabi/tmp/sockets/.unicorn.sock fail_timeout=0; } server { listen 80; client_max_body_size 4G; server_name Elastic IP入力; keepalive_timeout 5; # Location of our static files root /var/www/rails/gakutabi/public; location ~ ^/assets/ { root /var/www/rails/gakutabi/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/gakutabi/public; } }

{}も問題ありませんでした。
ご教授頂けないでしょうか。何卒よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2021/09/13 09:31

/etc/nginx/conf.d/アプリ名.conf と /etc/nginx/conf.d/rails.conf は同じものでしょうか? また、nginx.confと記述が重複していないかが気になります。
taku_ynwa

2021/09/13 12:26

追記、修正依頼ありがとうございます。 アプリ名(gakutabi).confが正しかったです。このファイルに記述しました。 なのでrails.confは何も記述しておりません。 nginx.confも確認しましたが何も記述しておりません。
yu_1985

2021/09/13 14:47

デフォルトであれば、nginxはcond.dの下にある.confで終わる名前のファイルをIncludeで設定しています。 該当箇所を確認してみてください。
taku_ynwa

2021/09/14 03:10

nginx.conf内にincludeの記述がされていませんでした。 include /usr/local/etc/nginx/conf.d/gakutabi.conf に設定し直しました。 ご教授頂きありがとうございました!
yu_1985

2021/09/14 04:02

> nginx.conf内にincludeの記述がされていませんでした /etc/nginx/conf.d/*.conf としている行がありませんでしたか? nginx -tの結果では /etc/nginx/conf.d/アプリ名.conf なので、/etc/nginx/配下にnginxの設定ファイルがあると思いますが、なぜ/usr/local/etc/nginx/を指定したのでしょうか?
guest

回答1

0

自己解決

conf.d内をlsコマンドで確認しました。

[ec2-user@ip-10-0-0-53 conf.d]$ ls
gakutabi.conf ngin.conf pfc-master.conf rail.conf rails.conf アプリ名.conf

アプリ名confというファイルが存在しました。
これを削除した所nginxが起動しました。

投稿2021/09/13 13:41

taku_ynwa

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問