🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

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

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

844閲覧

nginx のログで forbidden

majikadezou

総合スコア34

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

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

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2020/01/05 06:23

編集2020/01/06 04:26

nginx と unicorn で本番環境にデプロイしようと試みています。
しかしnginxの設定が間違えているのか、ページが表示されません。
nginx のエラーログを見ると、

2020/01/05 05:13:19 [error] 6727#0: *1 directory index of "/var/www/rails/hoge_app/public/" is forbidden, client: 182.251.242.14, server: , request: "GET / HTTP/1.1", host: "ec2-18-177-251-97.ap-northeast-1.compute.amazonaws.com"

となっており、アプリのpublicファイルが forbiddenになってしまっています。
publicファイルはアクセス権限を承諾しているので読み取りはできるはずなのですが。。。

etc/nginx/conf.d/hoge_app.conf error_log /var/www/rails/hoge_app/log/nginx.error.log; access_log /var/www/rails/hoge_app/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/hoge_app/tmp/sockets/.unicorn.sock fail_timeout=0; } server { listen 80; server_name 18.177.251.97; # nginx so increasing this is generally safe... keepalive_timeout 5; # path for static files root /var/www/rails/hoge_app/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/hoge_app/public; } location = /favicon.ico { log_not_found off; } }
/etc/nginx/nginx.conf tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; index index.html index.htm; server { listen 80 default_server; listen [::]:80 default_server; #server_name 18.177.251.97; root /var/www/rails/hoge_app/public; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } # redirect server error pages to the static page /40x.html # error_page 404 /404.html; location = /40x.html { } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { }

nginxの設定で間違えている場所があるのでしょうか

以下、権限です [toru@ip-10-0-5-10 ~]$ ls -ld /var/www/rails/hoge_app/public drwxrwxr-x 2 toru toru 4096 1月 3 13:38 /var/www/rails/hoge_app/public [toru@ip-10-0-5-10 hoge_app]$ ls -l /var/www/rails/hoge_app 合計 404 -rw-rw-r-- 1 toru toru 2396 1月 3 04:16 Gemfile -rw-rw-r-- 1 toru toru 8193 1月 3 04:16 Gemfile.lock -rw-rw-r-- 1 toru toru 374 1月 3 04:16 README.md -rw-rw-r-- 1 toru toru 227 1月 3 04:16 Rakefile drwxrwxr-x 11 toru toru 4096 1月 3 04:16 app -rw-rw-r-- 1 toru toru 1722 1月 3 04:16 babel.config.js drwxrwxr-x 2 toru toru 4096 1月 3 04:16 bin drwxrwxr-x 6 toru toru 4096 1月 5 10:09 config -rw-rw-r-- 1 toru toru 130 1月 3 04:16 config.ru drwxrwxr-x 3 toru toru 4096 1月 3 04:16 db drwxrwxr-x 4 toru toru 4096 1月 3 04:16 lib drwxrwxr-x 2 toru toru 4096 1月 6 04:09 log -rw-rw-r-- 1 toru toru 317 1月 3 04:16 package.json -rw-rw-r-- 1 toru toru 224 1月 3 04:16 postcss.config.js drwxrwxr-x 2 toru toru 4096 1月 3 13:38 public -rw-rw-r-- 1 toru toru 0 1月 3 04:16 hoge_app drwxrwxr-x 12 toru toru 4096 1月 3 04:16 spec drwxrwxr-x 2 toru toru 4096 1月 3 04:16 storage drwxrwxr-x 8 toru toru 4096 1月 3 04:16 test drwxrwxr-x 6 toru toru 4096 1月 4 03:37 tmp drwxrwxr-x 3 toru toru 4096 1月 3 04:16 vendor -rw-rw-r-- 1 toru toru 321512 1月 3 04:16 yarn.lock [toru@ip-10-0-5-10 hoge_app]$ ls -l /var/www/rails 合計 4 drwxrwxr-x 15 toru toru 4096 1月 5 05:35 hoge_app [toru@ip-10-0-5-10 hoge_app]$ ls -l /var/www/rails 合計 4 drwxrwxrwx 3 toru root 4096 1月 3 04:15 rails [toru@ip-10-0-5-10 hoge_app]$ ls -l /var 合計 72 drwxr-xr-x 2 root root 4096 8月 26 18:05 account drwxr-xr-x 7 root root 4096 8月 26 18:05 cache drwxr-xr-x 3 root root 4096 1月 3 03:35 db drwxr-xr-x 3 root root 4096 8月 26 18:05 empty drwxr-xr-x 2 root root 4096 1月 6 2012 games drwxr-xr-x 3 root root 4096 8月 26 18:05 kerberos drwxr-xr-x 21 root root 4096 1月 6 03:33 lib drwxr-xr-x 2 root root 4096 1月 6 2012 local drwxrwxr-x 5 root lock 4096 1月 6 03:33 lock drwxr-xr-x 7 root root 4096 1月 5 10:52 log lrwxrwxrwx 1 root root 10 8月 26 18:05 mail -> spool/mail drwxr-xr-x 2 root root 4096 1月 6 2012 nis drwxr-xr-x 2 root root 4096 1月 6 2012 opt drwxr-xr-x 2 root root 4096 1月 6 2012 preserve drwxr-xr-x 13 root root 4096 1月 6 00:41 run drwxr-xr-x 9 root root 4096 8月 26 18:05 spool drwxrwxrwt 2 root root 4096 1月 5 10:35 tmp drwxr-xr-x 3 toru root 4096 1月 3 03:59 www drwxr-xr-x 2 root root 4096 1月 6 2012 yp [toru@ip-10-0-5-10 hoge_app]$ ls -l / 合計 108 dr-xr-xr-x 2 root root 4096 8月 26 18:05 bin dr-xr-xr-x 4 root root 4096 8月 26 18:05 boot drwxr-xr-x 2 root root 4096 2月 28 2014 cgroup drwxr-xr-x 16 root root 2740 1月 5 10:52 dev drwxrwxrwx 82 root root 4096 1月 3 05:23 etc drwxr-xr-x 4 root root 4096 1月 3 03:06 home dr-xr-xr-x 7 root root 4096 1月 3 03:35 lib dr-xr-xr-x 10 root root 12288 1月 3 03:35 lib64 drwxr-xr-x 2 root root 4096 8月 26 18:04 local drwx------ 2 root root 16384 8月 26 18:04 lost+found drwxr-xr-x 2 root root 4096 1月 6 2012 media drwxr-xr-x 2 root root 4096 1月 6 2012 mnt drwxr-xr-x 3 root root 4096 8月 26 18:05 opt dr-xr-xr-x 92 root root 0 1月 5 10:52 proc dr-xr-x--- 3 root root 4096 1月 3 02:45 root drwxr-xr-x 3 root root 4096 1月 3 02:45 run dr-xr-xr-x 2 root root 12288 1月 3 03:35 sbin drwxr-xr-x 2 root root 4096 1月 6 2012 selinux drwxr-xr-x 2 root root 4096 1月 6 2012 srv dr-xr-xr-x 13 root root 0 1月 5 10:52 sys drwxrwxrwt 3 root root 4096 1月 6 04:08 tmp drwxr-xr-x 13 root root 4096 8月 26 18:05 usr drwxr-xr-x 20 toru root 4096 1月 3 03:57 var コード

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

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

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

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

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

yu_1985

2020/01/05 10:27

> publicファイルはアクセス権限を承諾しているので ということですが、具体的にどのような権限になっているのか ls -l コマンドで表示した結果を貼り付けてください。
majikadezou

2020/01/05 11:44

回答ありがとうございます [user@ip-10-0-5-10 ~]$ ls -l /var/www/rails/hoge_app/public 合計 16 -rw-rw-r-- 1 user user 1722 1月 3 04:16 404.html -rw-rw-r-- 1 user user 1705 1月 3 04:16 422.html -rw-rw-r-- 1 user user 1635 1月 3 04:16 500.html -rw-rw-r-- 1 user user 0 1月 3 04:16 apple-touch-icon-precomposed.png -rw-rw-r-- 1 user user 0 1月 3 04:16 apple-touch-icon.png -rw-rw-r-- 1 user user 0 1月 3 04:16 favicon.ico -rw-rw-r-- 1 user user 99 1月 3 04:16 robots.txt となっています
yu_1985

2020/01/06 01:07 編集

publicディレクトリだけではなく、その上位ディレクトリの権限はどうなっていますでしょうか。 /var/www /var/www/rails /var/www/rails/hoge_app についても権限を確認してみてください。 また、userというのは実際のユーザ名ですか? ※追記 書き忘れました。上記に加えpublicディレクトリ自体の権限も確認してください。
majikadezou

2020/01/06 04:23

長くなってしまい大変恐縮ですが、編集で追加させていただきました。 userは実際のところはtoruです
yu_1985

2020/01/06 05:26

権限は見たところ問題なさそうですね…。 アクセスした時、画面上には何もエラーメッセージは出ないんでしょうか? また、ServerNameに指定しているのがIPアドレスなのに、出ているエラーを見るとDNS名でアクセスしようとしていますが、IPアドレスでアクセスするとどうなりますか? nginxとunicornはちゃんと起動している、ということでいいでしょうか。
majikadezou

2020/01/06 05:45 編集

ありがとうございます。 unicornとnginxは起動確認済です。 IPアドレスでアクセスしても同じ結果が帰ってきます。 追記です。 設定をいろいろいじっていたら、forbiddenのエラーから 111: Connection refused のエラーに変わりました。。。 質問内容が変わってしまうかもしれませんが。 エラーはWe're sorry, but something went wrong. が出てます
yu_1985

2020/01/06 05:57

なるほど。うーん… 気になるといえば、 > try_files $uri/index.html $uri.html $uri @app; の$uri.html は恐らく記載ミスですよね?
majikadezou

2020/01/06 06:07

try_files $uri/index.html $uri.html $uri @app; の部分は、丸々コピーしてきたので、理解もせず書いちゃってます。。。 $uri.html の部分を削除するのが自然ですか?
yu_1985

2020/01/06 07:16

そこが影響しているかはわかりませんが、気になったので一応。 あと、今気づいたんですがnginx.confはほぼデフォルトなんですね。 hoge_app.confと一部設定がバッティングしているような気がするんですが、これは問題ないんでしょうか? include /etc/nginx/conf.d/*.conf; まで残して、それより下をコメントアウトするとどうなりますか?
majikadezou

2020/01/06 08:17

コメントアウトしてみましたが、だめですね。。。 sudo nginx -t でもエラーは出ていないのですが。
guest

回答1

0

自己解決

webpackerをインストールしなおして解決しました。

投稿2020/01/07 03:26

majikadezou

総合スコア34

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問