Você não precisa de try_files
na sua seção location ~ \.php$
. Você acabou de passar o processamento diretamente para o processo do PHP-FPM lá.
Estou com muitos problemas para ver meu site do Nginx aparecendo corretamente.
Eu recebi 404
erros e agora estou recebendo um erro Connection Refused
.
Esta é a minha configuração Nginx
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_names_hash_bucket_size 64;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Inclui duas outras pastas, o conf.d está vazio e o ativado para sites , incluindo links simbólicos para minha configuração de Vhost, que é a seguinte.
server {
listen 80;
listen [::]:80;
root /var/www/subdomain.mydomain.com;
index index.php;
server_name subdomain.mydomain.com www.subdomain.mydomain.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~/\.ht {
deny all;
}
}
A pasta Root referenciada existe e contém um arquivo index.php que agora apenas ecoa uma string.
Os registros de erro nginx mostram apenas o seguinte:
2016/11/24 22:35:40 [notice] 8834#8834: signal process started
2016/11/24 22:38:30 [notice] 8890#8890: signal process started
2016/11/24 23:13:48 [notice] 10108#10108: signal process started
2016/11/24 23:14:16 [notice] 10141#10141: signal process started
O PHP-FPM está instalado e a meia existe no diretório especificado e o FPM está de fato em execução, de qualquer forma não parece ser um problema PHP .
Isso deixa a configuração em si ou permissões talvez?
Como eu disse, meu projeto está localizado no diretório / var / www
Permissão para a qual se parece com isso
drwxr-sr-x 2 www-data www-data 4096 Nov 24 23:31 subdomain.mydomain.com
O arquivo de índice dentro dele:
-rw-rw-r-- 1 myusername www-data 25 Nov 24 23:50 index.php
Os sites estão sendo executados em uma instância do AWS. Eu já permiti a porta 80 nos grupos de segurança e o acesso está definido para ser permitido de qualquer lugar.
Se alguém puder me ajudar, eu agradeceria muito, já que estou na minha terceira hora tentando descobrir isso ...: (
Você não precisa de try_files
na sua seção location ~ \.php$
. Você acabou de passar o processamento diretamente para o processo do PHP-FPM lá.
Descobri isso finalmente ... eu criei meu link simbólico errado no Ubuntu para a pasta habilitada para sites.
Eu não lembro exatamente o que fiz de errado, mas um sinal de que o link simbólico está errado é quando ele diz que você não tem permissão para editá-lo, mesmo com o sudo. Se isso acontecer, seu link simbólico estará errado e você precisará recriá-lo ou seus sites não funcionarão.
Espero que meu erro possa beneficiar alguém no futuro, obrigado a todos por sua ajuda:)
Tags nginx ubuntu file-permissions