2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

初心者の私がaws,laravel,nginxでつまずいたケース

Last updated at Posted at 2021-02-02

#題名の通り、自分がlaravelをnginxで立ち上げ、awsでデプロイさせる際につまったケースです。参考になれば幸いです。

前提

  • nginx,php,php-fpm,laravel等のインストール

##① nginxのconfファイル設定

まず、nginxのconfファイルの設定でつまずきました。
confファイルでroot設定を正しくしているのに、index.phpを読み込んでくれず、404エラーとなってしまう状況となりました。

etc/nginx/nginx.conf


    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /var/www/<ディレクトリ名>/public;
        index        index.php index.html index.htm;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
           try_files      $uri $uri/ /index.php?$query_string;
        }

        #redirect server error pages to the static page /40x.html
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {

            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index  index.php;
            include        fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  $document_root/index.php;
        }

         # redirect server error pages to the static page /40x.html

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

一見問題なさそうなので、とても解決するのに時間がかかりました。
結論この設定で問題なのは

   include /etc/nginx/default.d/*.conf;

この記述でした。
どうやらincludeの読み込み指定で、どのconfを読み込めばいいかわからず、エラーとなっていたそうです。
やはり、公式サイトを見るのが吉ですね。。。

laravel公式サイト

##② laravelのkey作成

laravelの権限関係

上記の通り、root指定できたので、laravelのキーを作らないといけないと思い、

php artisan key:generate

をしたところ、

The stream or file "/var/www/laravel/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied

あ、権限与えていなかったと思って、

sudo chmod 777 /storage/logs

としましたが、まだ権限エラーが出ていました。
なぜかと思い、laravel.logを見に行ったら、権限が通っていませんでした。
そのため、laravel.logにも777してあげると、権限エラーは消えましたが、下記の通りになりました。

envファイルエラー

file_put_contents(/var/www/laravel/.env): failed to open stream: Permission denied

なんだこれは。。envの権限がない?
とはいっても、.envに777渡すわけにはいけないよなと思っていたところ、
あ、rootユーザでやってみたらどうだろうと思い、

sudo su

//rootユーザーに変身!

php artisan key:generate

をしたころ、コマンドが通りました!!!

ブラウザで確認したところ、

laravel.png

おーー!いけました!

反省

全体的に、知識が足りなかったです。もっと勉強します。笑

今回学んだこと

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?