tomoki312
@tomoki312

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

EC2 Nginx+Laravel+php-fpmでサーバ起動すると404 Not Foundになる

解決したいこと

laravelで質問投稿サイトを作っています。
質問画面の表示はできますが、質問の詳細画面に遷移すると404 Not Foundというエラー画面になります。
スクリーンショット 2021-11-29 8.30.32.png
localでの質問詳細画面は以下です。
スクリーンショット 2021-11-29 11.06.39.png
解決方法を教えていただけますでしょうか。
もしかするとcomposer updateをしてlaravelのversionを6.20.37から6.20.41にしたのが原因かもしれません。
また、circleCIでのテストは成功します。

発生している問題・エラー

/var/log/nginx/error.log
2021/11/28 14:05:31 [error] 3314#0: *51 open() "/home/webapp/todo_app/public/50x.html" 
failed (2: No such file or directory),client: 10.0.0.212, server: _, request:
 "GET /questions/3 HTTP/1.1", upstream:"fastcgi://unix:/run/php-fpm/www.sock", host: "**.amazonaws.com", referrer: 
"**.amazonaws.com/"

該当するソースコード

    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /home/webapp/todo_app/public;

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

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

        location ~ \.(css|gif|ico|jpeg|jpg|js|pdf|png|svg|swf|zip|eot|otf|ttf|woff|woff2) {
            expires 1y;
            access_log off;
            log_not_found off;
        }

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

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


自分で試したこと

nginx、php-fpmの再起動

補足情報(FW/ツールのバージョンなど)

laravel/6.20.41
nginx/1.12.2
php-fpm/4.0.8

0

1Answer

ec2のコードデプロイの履歴をみてみるとphp artisan migrateの際にdbにテーブルが既に存在するというエラーが生じていたのでec2からmysqlにアクセスしてtableを全て削除することでエラーが解消されました。

0Like

Your answer might help someone💌