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

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

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

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

Ruby on Rails

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

AWS(Amazon Web Services)

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

解決済

ファイルやディレクトリが見つからないとかで、Nginxが再起動できない。

Ko-program
Ko-program

総合スコア11

nginx

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

Ruby on Rails

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

AWS(Amazon Web Services)

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

1回答

0評価

0クリップ

304閲覧

投稿2021/12/08 06:00

編集2021/12/08 07:15

https://senrenseyo.com/20210826/rails_deploy_3/

今回、こちらのサイトを参考にcloud9で開発したrailsアプリを
AWSサービスを連携してデプロイしようとしています。

こちらのサイトの「本番環境構築」の「Nginxのインストール」まで進めたのですが、

*以下設定ファイルの内容
log directory
error_log /var/www/rails/アプリ名/log/nginx.error.log;
access_log /var/www/rails/アプリ名/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/アプリ名/run/sockets/unicorn.sock fail_timeout=0;
}
server {
listen 80;

server_name ; ElasticIP;

nginx so increasing this is generally safe...
keepalive_timeout 5;
path for static files
root /var/www/rails/アプリ名/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 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/アプリ名/public;
}
}

その中の設定ファイルの作成した後に、ファイルの設定内容をNginxに反映させて再起動しようとしたものの、

[ec2-user@ ~]$ sudo systemctl restart nginx
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 と入力したものの、

[ec2-user@ ~]$ 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 Wed 2021-12-08 05:44:48 UTC; 24s ago
Process: 8500 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
Process: 8498 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 8444 (code=exited, status=0/SUCCESS)

Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal nginx[8500]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal nginx[8500]: nginx: [emerg] open() "/var/www/rails/アプリ名/log/nginx.error.log" failed (2: No su...ectory)Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal nginx[8500]: nginx: configuration file /etc/nginx/nginx.conf test failed
Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal systemd[1]: nginx.service: control process exited, code=exited status=1
Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal systemd[1]: Unit nginx.service entered failed state.
Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal systemd[1]: nginx.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

という結果で、状態を確認するだけでした。

この中の

Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal nginx[8500]: nginx: [emerg] open() "/var/www/rails/アプリ名/log/nginx.error.log" failed (2: No such file or directory)Dec 08 05:44:48 ip-10-0-0-140.ap-northeast-1.compute.internal nginx[8500]: nginx: configuration file /etc/nginx/nginx.conf test failed

があやしいとにらんでいます。
というのも、設定ファイルを作る前に、sudo systemctl start nginx と打ったところ
上記の Active: failed のところが Active: active (running)  となっていて
正常に起動できていたからです。

調べてもこれといって解決できる方法が見つかりませんでした。
Nginxの設定ファイルはせいぜいアプリ名とElasticIPぐらいしか違うはずなのに、
どうしてこのようなエラーが発生するのかがわかりません。

解決できる方お待ちしております。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

nginx

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

Ruby on Rails

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

AWS(Amazon Web Services)

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