Nginx + PHP + Debian 10

あらまし

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$ {
        # ここでは別のドキュメントルート設定となっていた。
    }

参考サイト