Diferencia entre revisiones de «Recetas/nginxinicial»
(Página creada con «== Resumen de la receta == En esta receta se instala nginx php7 en un Debian Stretch y se verifica que puede mostrar páginas en html y php. == Requisitos == * Debian GN...») |
(→Probando que el servidor apache pueda ejecutar código php) |
||
(No se muestra una edición intermedia del mismo usuario) | |||
Línea 6: | Línea 6: | ||
* Debian GNU/Linux Jessie 9.x | * Debian GNU/Linux Jessie 9.x | ||
* nginx 1.10 | * nginx 1.10 | ||
− | * php | + | * php 7.0.27 |
* Tener configurado los repositorios, ver [[Recetas/repositorio]] | * Tener configurado los repositorios, ver [[Recetas/repositorio]] | ||
Línea 100: | Línea 100: | ||
− | Nota: En caso de que no muestre nada o no funcione, podemos ver los logs del | + | Nota: En caso de que no muestre nada o no funcione, podemos ver los logs del nginx para ver que parte es la que esta fallando con el comando: |
tail /var/log/nginx/*.log | tail /var/log/nginx/*.log | ||
Línea 107: | Línea 107: | ||
Con la opción ''-f'' muestra las lineas conforme se van agregando. Para salirse de ese modo solo se presionan las teclas ''Ctrl + C'' | Con la opción ''-f'' muestra las lineas conforme se van agregando. Para salirse de ese modo solo se presionan las teclas ''Ctrl + C'' | ||
+ | |||
== Referencias == | == Referencias == | ||
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-debian-8 | https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-debian-8 |
Revisión actual del 20:32 27 may 2018
Contenido
Resumen de la receta
En esta receta se instala nginx php7 en un Debian Stretch y se verifica que puede mostrar páginas en html y php.
Requisitos
- Debian GNU/Linux Jessie 9.x
- nginx 1.10
- php 7.0.27
- Tener configurado los repositorios, ver Recetas/repositorio
Instalación de programas
apt-get install nginx-full php-fpm
- nginx-full: Servidor web nginx
- php-fpm: Lenguaje php
Configuración
La configuración de nginx por defecto solo nos mostrará las páginas html. La configuración por defecto de nginx, quitando los comentarios, tiene esta estructura:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
Donde define:
- El puerto IPv4 e IPv6 que estará escuchando: 80
- La carpeta del sitio que publicará: /var/www/html
- El orden en que buscará y cargará los archivos
- Y la configuración de la carpeta
Probando el servidor apache
Para probar el servidor nginx :
- Si estamos en la misma computadora abrimos en el navegador la direccion http://localhost/
- Si estamos en otra computadora, abrir en el navegador la dirección de la computadora http://<IP de la computadora remota donde se instalo apache> (Por ejemplo 192.168.1.5)
Configuración de php
Para que nginx pueda interpretar código php, es necesario enlazar nginx con php por:
- Módulo fpm de php
- Socket de PHP cgi
La configuración que se deberá agregar a la configuración por defecto para que interprete código php es:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } error_log /var/log/nginx/nginx-error.log warn; access_log /var/log/nginx/nginx-access.log ; }
Donde:
- Habilitamos que pueda interpretar el arcivo index.php
- Habilitamos que pueda interpretar código php vía socket cgi
- Habilitamos los logs personalizados
Probando que el servidor apache pueda ejecutar código php
Para verificar que el servidor puede ejecutar código php lo que hacemos es:
Verificar cuál es el directorio que publica nuestro servidor web, para nuestro caso como es una instalacion nueva, la vemos en el archivo
nano /etc/apache2/sites-enabled/000-default.conf
Ahí notamos que la carpeta que publica es la /var/www/html/
Ahora solo creamos un archivo llamado /var/www/html/phpinfo.php con el siguiente contenido:
nano /var/www/html/phpinfo.php
<?php
phpinfo();
?>
Luego abrimos el archivo con http://localhost/phpinfo.php
Deberá aparecer el siguiente sitio .
Nota: En caso de que no muestre nada o no funcione, podemos ver los logs del nginx para ver que parte es la que esta fallando con el comando:
tail /var/log/nginx/*.log
ó
tail -f /var/log/nginx/*.log
Con la opción -f muestra las lineas conforme se van agregando. Para salirse de ese modo solo se presionan las teclas Ctrl + C