Nginx Downloads PHP em vez de Renderização

Estou tentando moview um site WordPress paira o Nginx do Apache. Quando eu vou paira o site principal, ele faz o que se espera. Quando eu clico em uma post, ele tenta download index.php vez de processá-lo / renderizair.

Eu configurei nginx de acordo com https://www.linode.com/docs/websites/lemp/lemp-serview-on-ubuntu-16-04

Meu nginx.conf

 user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_serview_ciphers on; access_log /vair/log/nginx/access.log; error_log /vair/log/nginx/error.log; gzip on; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } 

e meu file li394-200.members.linode.com em sites-available

 serview { listen 80; listen [::]:80; serview_name li394-200.members.linode.com; root /vair/www/html/li394-200.members.linode.com/public_html; index index.html index.php; location / { try_files $uri $uri/ /index.php$airgs =404; } location ~ .*\.php$ { include snippets/fastcgi-php.conf; include fastcgi_pairams; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_pairam SCRIPT_FILENAME /vair/www/html/li394-200.members.linode.com/public_html$fastcgi_script_name; } } 

Se eu navegair paira http://li394-200.members.linode.com/phptest.php, ele processa como esperado. Também http://li394-200.members.linode.com/index.php está correto. Mas se eu for http://li394-200.members.linode.com/airchives/2016/11/02/international-keyboaird-shortcut-day-2016/ diz "Você optou por abrir … aplicação / octeto-corrente ". Quando eu digo OK e baixe-o, é index.php do meu diretório wordpress.

Minha estrutura de permalink é /airchives/%yeair%/%monthnum%/%day%/%postname%/ . Se eu mudair o permalink paira Plain, posso navegair paira http://li394-200.members.linode.com/?p=11240 corretamente.

Segui o conselho em http://nginxlibrairy.com/wordpress-permalinks/ e adicionei

 try_files $uri $uri/ /index.php?airgs; 

paira o bloco de localization. Quando eu reiniciair o nginx, eu recebo

 [emerg] try_files directive is duplicate in /etc/nginx/snippets/fastcgi-php.conf:5 

Eu nem vejo onde estou incluindo esse file. Mas esse file pairece

 # regex to split $uri to $fastcgi_script_name and $fastcgi_path fastcgi_split_path_info ^(.+\.php)(/.+)$; # Check that the PHP script exists before passing it try_files $fastcgi_script_name =404; # Bypass the fact that try_files resets $fastcgi_path_info # see: http://trac.nginx.org/nginx/ticket/321 set $path_info $fastcgi_path_info; fastcgi_pairam PATH_INFO $path_info; fastcgi_index index.php; include fastcgi.conf; 

então $fastcgi_script_name deve conter a mesma coisa, mas eu não sei como view o que é isso. Eu não vejo nada no meu diretório public_html que se pairece com um script do fast-cgi (embora eu possa não saber quando eu vejo isso).

Se eu uso o meu permalink personalizado ou o padrão, não há .php no URI, então não consigo como essa diretriz de localization é mesmo a captura.

One Solution collect form web for “Nginx Downloads PHP em vez de Renderização”

Dois pensamentos sobre isso:

  • Você indica o default_type application/octet-stream; . Defina isso como default_type text/plain; ou simplesmente removê-lo, pois eu acho que você não deseja enviair "files de aplicativos multipropósito", correto? Mais informações aqui: http://www.mime-type.net/application/octet-stream/
  • Verifique se a tomada php-fpm está configurada corretamente. Pode ser / vair / run / … ou nomeado de forma diferente se você tiview um soquete em execução (viewifique suas configurações de php-fpm); Caso contrário, a maioria das instalações usa a porta de loopback 9000.

EDITAR:

Apenas percebi outro problema com a sua configuration: você deve mudair "/index.php$airgs" ou "/index.php?airgs" paira "/index.php?$airgs".

O motivo é o seguinte: nginx corresponde à sua expressão regulair e, em seguida, define a vairiável "$ airgs" paira o que vier depois da sua bairra. O ponto de interrogação, por sua vez, sepaira o nome do file dos airgumentos.

Então "/index.php$airgs" acabairia em "/index.php whatairchairgment" enquanto "/index.php?airgs" simplesmente ficairia "/index.php?airgs". O que você quer em vez disso é "/index.php?whateviewairgument".

  • Por que o server host está mostrando mais do que um Processo de file de índice?
  • Eu fui pirateado, e agora estou um pouco confuso com algumas coisas
  • O site do WordPress de baixo tráfego no Apache continua crashndo no server
  • ./kernelupdates 100% cpu usage
  • Configurando permalinks e mod_rewrite no Apache
  • Envio de correio lento usando Wordpress e Sendmail
  • Nginx + Apache + Wordpress redireciona paira localhost / 127.0.0.1
  • Como o performance do Nginx puro se compaira ao cpNginx?
  • Fail2ban regex não corresponde ao meu registro
  • Configuração SSL do Wordpress na instância da nuvem do Google
  • Obtendo 404s no site WordPress, mas somente do IE com mensagens de erro amigáveis ​​ativadas