No se puede hacer que nginx ejecute php en el servidor ubuntu 16.04

8

Editar.
La pregunta ya recibió una respuesta aquí: /server/889334/cant-get-nginx-to-run-php-on-ubuntu-16-04-server

Estoy configurando un servidor que ejecuta nginx y estoy tratando de ejecutar scripts php.

Aparentemente, el mejor artículo sobre cómo hacer que nginx ejecute php es este: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in- ubuntu-16-04

La siguiente discusión termina cuando las otras direcciones envejecen.
¿Cuál es la forma más fácil de habilitar PHP en nginx?

Voy por las instrucciones en el sitio web del océano digital pero nada cambia, todavía no puedo ejecutar php.

Estoy bastante perdido en esto y cualquier ayuda sería apreciada.

Aquí está la salida de sudo service nginx status:

nginx.service - A high performance web server and a reverse proxy server     
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2017-12-17 13:46:33 GMT; 55min ago
Process: 19056 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 19091 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)    
Process: 19064 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 19059 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 19066 (nginx)
Tasks: 2
Memory: 4.6M

CPU: 406ms
CGroup: /system.slice/nginx.service
       ├─19066 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
       └─19094 nginx: worker process                           

Dec 17 13:46:33 websites systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 17 13:46:33 websites systemd[1]: Started A high performance web server and a reverse proxy server.
Dec 17 13:48:53 websites systemd[1]: Reloading A high performance web server and a reverse proxy server.
Dec 17 13:48:53 websites systemd[1]: Reloaded A high performance web server and a reverse proxy server.

Aquí está la salida de php -v:

PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by      Zend Technologies

Y aquí está el archivo de configuración que estoy usando.

Está en /etc/nginx/conf.d/virtual_servers.conf.

server {
    listen 80; 
    server_name openage.org www.openage.org;
    #listen [::]:80 default_server ipv6only=on;

    #root /usr/share/nginx/html;
    root /etc/nginx/html/openage;
    index index.php index.html index.htm;

    #server_name localhost;

    location / { 
        try_files $uri $uri/ =404;
    }   

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }   

    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }   

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/openage.org/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/openage.org/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

Ya tengo:

  • reinició php-fpm.
  • reinició nginx.
  • forzar la recarga del caché del navegador con ctrl-f5.
  • comprobado / var / log / error para errores pero aparentemente no hay errores para cuando ejecuto el archivo php. Es como si nginx no se diera cuenta de que se supone que debe ejecutar el php en lugar de tratarlo como un archivo normal.

Estoy tratando de ejecutar un script que contenga solo la función phpinfo(). Pero en lugar de darme la información de php, el navegador solo me ofrece descargar el archivo. /:

Hermann Ingjaldsson
fuente
sudo service nginx statusphp -v
muéstranos
Lo agregué a la pregunta.
Hermann Ingjaldsson
1
¿Cómo configuró php? Publique sus ediciones de configuración en php y nginx. reinicie php-fpm y nginx, borre la memoria caché del navegador, busque errores en los registros nginx, ¿qué script php ????? Necesitamos más información
Panther
¿Cuál es el mensaje de error que recibes?
George Udosen
@HermannIngjaldsson su estado nginx se ve bien, ¿cuál es el error exactamente?
MehrdadEP

Respuestas:

2

Abra terminaly ejecute el siguiente comando:

gksu gedit /etc/nginx/sites-available/default

Esto abrirá su nginxarchivo de configuración. edítelo con el siguiente texto:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php7-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

después de guardar el archivo, ejecute el siguiente comando para reiniciar nginx:

sudo service nginx restart
MehrdadEP
fuente
Puse este texto en el archivo de configuración, reinicié nginx y el problema persiste. /:
Hermann Ingjaldsson
verifique esta ubicación para ver su versión del archivo y editarlo en nginx conf:/var/run/php7-fpm.sock
MehrdadEP
¿Puso su archivo de prueba de php en esta carpeta? /usr/share/nginx/html
MehrdadEP
No hay /var/run/php7-fpm.sock pero hay un /var/run/php/php7.0-fpm.sock. Es un zócalo y no estoy seguro de cómo ver el contenido. No estoy entendiendo lo que estás pidiendo en realidad.
Hermann Ingjaldsson
Hay un nginx welcome html en / usr / share / nginx / html yes.
Hermann Ingjaldsson