前回PHPの設定をしましたが、ハマったところがあったので忘れないようにメモしておきます。
default.confにサンプルがあったのでコメント外してrootの部分を変更して追記した。
server { listen 80; server_name example1.com; access_log /var/log/nginx/example1.com.access.log; location / { root /usr/share/nginx/example1.com; index index.php index.html index.htm; } location ~ \.php$ { root /usr/share/nginx/example1.com; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } }
再起動して、確認したところエラーがでた。
エラーログを見てみると以下のメッセージがでた。
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.56.1, server: example1.com, request: "GET /index.php HTTP/1.1"
調べてみると、fastcgi_paramの設定がおかしいとのこと。
以下のように変更。
- fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
これで再起動したら、正常に表示されるようになりました。