前提・実現したいこと
初めてNginxでWEBサイトを構築しております。
システム要件上、URLを以下の通りファイルシステムに対応させなければいけません。
■ hogehoge.net/にアクセスした場合
→ ファイルシステムの"/var/www/html/hoge"に紐づけたい
■ hogehoge.net/devにアクセスした場合
→ ファイルシステムの"/var/www/html/fuga"に紐づけたい
いずれにおいても、PHPを実行可能にする必要があります。
発生している問題
hogehoge.net/devでのみ、PHPが実行できない状況です。
HTMLファイルは正常に表示できております。
問題の詳細・エラーメッセージ等
以下の単純な"test.php"ファイルを作成し動作確認しております。
<?php echo '<h1>PHP-test</h1><p>php動作確認ページ</p>' ?>
上記"test.php"ファイルを"/var/www/html/hoge"に配置し、ブラウザで**https://hogehoge.net/test.php**へアクセスした場合、正常にPHPの実行結果が表示されます。
しかし、同じファイルを"/var/www/html/fuga"に配置し、**https://hogehoge.net/dev**へアクセスした場合、File not foundが表示されてしまいます。
この際、Nginxのエラーログには以下の内容が出力されます。
2020/05/12 18:50:57 [error] 35485#35485: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: hogehoge.net, request: "GET /dev/test.php HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "hogehoge.net"
Nginx設定内容
default.conf
server { listen 443 http2 ssl; server_name hogehoge.net; # # [SSL設定] # (SSL設定は省略します) # # [ログファイル設定] # access_log /var/log/nginx/hogehoge-access.log ltsv; error_log /var/log/nginx/hogehoge-error.log debug; root /var/www/html/hoge; location / { try_files $uri /index.html index.php; location ~ .(php|html)$ { include /etc/nginx/conf.d/_conf.php; } } location /dev/ { alias /var/www/html/fuga; try_files $uri /index.html index.php; location ~ .(php|html)$ { include /etc/nginx/conf.d/_conf.php; } }
上記の通り、PHPの設定は外部ファイルに記述し、各locationブロックから同一の内容をincludeしております。
includeしているファイルの内容は以下です。
/etc/nginx/conf.d/_conf.php
_conf.php
1fastcgi_split_path_info ^(.+?.php)(/.*)?$; 2fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; 3fastcgi_index index.php; 4fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 5include fastcgi_params;
試したこと
-
fastcgi_paramの設定値を"SCRIPT_FILENAME $request_filename;"に変更して試行致しましたが、現象は改善せず、エラー内容も同じでした。
-
fastcgi_paramの変数**$document_root**をパス直書き(SCRIPT_FILENAME /var/www/html/fuga$fastcgi_script_name)にしてみましたが、現象は改善せず、エラー内容も同じでした。
環境情報
CentOS 7.8.2003
nginx 1.18.0
PHP 7.4.5
原因究明・問題解決のためご助力を賜りたく存じます。
情報に不足がございましたらお申しつけくださいませ。
何とぞ宜しくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/13 07:21