[nginx]サブディレクトリでlaravelプロジェクトを動かしたかった

laravel, nginx, PHP, インフラ, フレムワークlaravel, nginx


Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 86

Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 105
apacheからnginxに変更した際に、これまでサブドメインで開発用のプロジェクトを作っていたものをこのタイミングでサブディレクトリで実行できるようにしたいと思っていました。今回サブディレクトリでlaravelのプロジェクトを運用するに当たり苦労したことや詰まったところがいくつかあったので紹介したいと思いました。

locationの使い方がよくわからなかった

locationディレクティブの正規表現でサブディレクトリを分けることが難しかった。
すでにドメインのルートをwordpressで使っていて、laravelのプロジェクトをサブディレクトリで動くように設定を行わなければならなかった。正規表現での優先度などを調べてURLによって切り替えることがなんとかできました。

エラーが発生

エラーが発生と書いたものの最初はエラーが発生していることに気づけていませんでした。
最初に起こったこととして、locationディレクティブで指定したパスにアクセスしたところ、File not foundと表示されるだけで、どうしたら良いのかわからない状態に。そこで調べたことろエラーが出ているのではということになり、nginxでerror_logを指定している部分があったのでerror_logの中身を見ることにしました。

*1 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream

fastcgiで指定しているパスが間違えているというようなエラーが出ていたので、fastcgiのparamsを見直すことに。明らかにおかしい場所が見つかったので、そちらを直して再度nginxを立ち上げることで解決しました。

これから

サブドメインで開発したものを見れるようにしていきたいと思っています。ちなみにそちらはlaravelをサーバーで使って開発をしていこうと思っております。 まだ開発途中ですが、一応上げておこうと思っております。

https://aqua-engineer.com/app/