Я установил Engine X и PHP 5.3.3 из исходников на сервер CentOS 5.5. Я думаю, что с момента установки все прошло хорошо, и Engine X нормально обслуживает статические файлы.
Однако при попытке доступа к базовому файлу php он обслуживает код php как простой текст.
Журнал ошибок Engine X показывает:
2010/09/23 20:49:35 [error] 3331#0: *6 connect() failed (111: Connection refused) while connecting to upstream, client: my.local.ip, server: the_server, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "the.servers.ip"
И мой файл конфигурации гласит:
server { listen *:80; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /var/www/default$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include /usr/local/nginx/conf/fastcgi_params; } }
ps auxw | grep php
или любым другим способом)Я не любитель nginx, но сообщение об ошибке довольно ясное: никто не отвечает на телефонный звонок по адресу 127.0.0.1:9000
Понял! Очевидно, в этой версии по умолчанию отключена поддержка коротких тегов. Итак, NginX передавал его правильно, но PHP игнорировал короткие теги PHP и отправлял их обратно без обработки.