Estou tentando configurar o nginx para o aplicativo django e php no AWS / Linux AMI. O Nginx já foi configurado para trabalhar simultaneamente com vários aplicativos do django e tudo funciona bem.
Agora preciso incluir a solução de terceiros com base no php. Isso deve funcionar em url / traço separado / .
Eu passei por muitos tutoriais e respostas de "pilha", mas nenhum funcionou para mim.
Eu já instalei o php e o php-fpm. Eu modifiquei o arquivo de configuração em /etc/php-fpm-5.5.d/www.conf e tentei usar o socket e o TCP / IP:
listen = 127.0.0.1:9000
e também
listen = /var/run/php-fpm.sock
Depois de reiniciar o serviço php-fpm, verifiquei se o socket realmente foi criado. Então eu modifiquei o nginx de acordo:
location ~ /dash/$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Eu criei o arquivo test.php para testar o php e também coloquei a solução de terceiros no / usr / share / nginx / html /. Quando tento visitar o link , recebi um erro 404 (ou recebi uma página em branco, se eu removesse a configuração try_files
). No entanto, quando tento visitar o link ou link , o navegador me oferece um arquivo para download - o arquivo index.php real que eu esperava para produzir o html para mim. Eu recebo o mesmo resultado usando o wget.
service php-fpm status
claims php-fpm-5.5 (pid 12345) is running...
, então eu supus que os arquivos php deveriam ser processados.
Eu já tentei alterar a configuração do php-fpm alterando os atributos listen.owner
e list.group
, bem como user
e group
para nobody
, ec2-user
ou nginx
, mas ainda recebo os mesmos 404.
Eu já tentei o parâmetro
%código%
mas como não tinha certeza do que exatamente deveria estar aqui, removi-o. Suponho que agora usamos o padrão do arquivo fastcgi_param SCRIPT_FILENAME ...
:
fastcgi_param
Se você vir algum erro óbvio ou algo que eu ignoro, por favor me avise. Peço desculpas pela terminologia errada, se houver alguma.