Вы заявляете, что передаете php файлов на Apache, затем вы заявляете, что используете сервис fastcgi на 127.0.0.1:9000:
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
location ~ \.php$ {
proxy_pass http://127.0.0.1;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
Сначала вы, вероятно, захотите удалить ссылку Apache. Затем вам нужно проверить свою конфигурацию бэкенда fastcgi, так как ваш nginx «передает» все запросы php на него.
Вы также объявляете fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
, и это означает, что ваш php поиск скриптов в папке / scripts. Это правильно? Если вы хотите сохранить файлы PHP в папке html, вам нужно изменить эту строку на fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
. Проверьте также, что находится внутри файла fastcgi_params, так как этот файл включен, и поэтому вы загружаете части конфигурации из него.
Я полагаю, вы используете php -fpm, я могу также предложить изменить конфигурацию чтобы использовать файл сокета вместо TCP-соединения:
fastcgi_pass unix:/var/run/php5-fpm.sock;
И измените listen = 127.0.0.1:9000
на listen = /var/run/php5-fpm.sock
в вашей конфигурации php -fpm.