あらまし
Debian 10 に nginx と PHP をインストールしてみる。
nginx のインストール
Debian 10 (buster) - Web サーバ Nginx 構築(Nginx 公式リポジトリ使用)! - mk-mode BLOG
ユーザー権限でやってうまくいかなかった。root権限でやれって書いてあった。
あと、ufw っていうツールが入ってなかったので、それは別途インストールした。
PHP
Debian 10 (buster) - PHP インストール(Nginx と連携)! - mk-mode BLOG
phpinfo.php
を nginx のドキュメントルート /usr/share/nginx/html
に配置し、localhost/phpinfo.php
にアクセスしても FIle not found
が表示される。
test.html
を 同ディレクトリに配置した場合はちゃんと表示される。
↑ドキュメントルートを /var/www/html
に変えてみる
↑File not found の対処法。その前にエラーログの場所がわからなかった。
→ エラーログの場所はconfファイル(/etc/nginx/nginx.conf
) に記載があり、/var/log/nginx/error.log
だった。
nginx と PHP-FPM の仕組みをちゃんと理解しながら PHP の実行環境を構築する - Qiita
nginx $document_root$fastcgi_script_name と $request_filename の違い - Qiita
【2021/2/4 現在 未解決】
【2021/2/5 追記 - 解決】
nginx の設定が悪かった。
/etc/nginx/conf.d/default.conf
でのドキュメントルートの設定を location / ...
の下に書いていて、location ~ \.php$ ...
の下ではドキュメントルートが未設定の状態となっていたようだ。
あと、phpファイルのプレフィックスは<?php
じゃないとだめっぽい?
server { root /var/www/html; #← ドキュメントルートはここに書く location / { # root /var/www/html; # ← 当初はここに書いていた index index.html index.htm; } location ~ \.php$ { # ここでは別のドキュメントルート設定となっていた。 }
参考サイト
PHP-FPM の エラーログの出力の仕方
https://qiita.com/renny1398/items/ee1d03f43157e315298aPHP-FPM の access.log の設定の仕方
https://qiita.com/haru/items/fe4f5a67e96b260449c5PHP-FPM の UNIX ソケットの作成方法
https://qiita.com/kawakami-kazuyoshi/items/610d1435d812beb853e2
→ ソケットのルートディレクトリが /run だからダメなのかな?と思ったけど、よく調べてみると /var/run は /run へのシンボリックリンクで関係なかった。