Entendi! Aparentemente, o suporte a tags curtas está desativado por padrão nesta versão. Então, o NginX estava passando isso corretamente, mas o PHP estava ignorando as tags curtas do PHP e enviando-as de volta não processadas.
Instalei o Engine X e o PHP 5.3.3 da fonte em um servidor CentOS 5.5. Acho que tudo correu bem desde as instalações e o Engine X atende aos arquivos estáticos.
Ao tentar acessar um arquivo php básico, ele serve o código php como texto simples.
O log de erros do mecanismo X mostra:
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"
E meu arquivo de configuração diz:
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
ou de várias maneiras) Eu não sou um cara do nginx, mas a mensagem de erro é bem clara: ninguém está respondendo ao telefone em 127.0.0.1:9000