Nginx es un servidor HTTP gratuito, de código abierto y de alto rendimiento. Nginx es conocido por su estabilidad, rico conjunto de funciones, configuración simple y bajo consumo de recursos. Este tutorial le muestra cómo instalar Nginx en Ubuntu 14.10 con soporte PHP (a través de PHP-FPM) y soporte MySQL. PHP-FPM es una implementación alternativa de PHP FastCGI, tiene algunas características adicionales útiles para sitios de cualquier tamaño, especialmente sitios más ocupados).
Instalar MySQL
Primero instalaremos MySQL emitiendo el siguiente comando. Se le pedirá que cree una contraseña de administrador de MySQL.
$ sudo apt-get install mysql-server
Instalar Nginx
Descargue la clave de firma del sitio web oficial.
$ wget http://nginx.org/keys/nginx_signing.key
Agréguelo para evitar advertencias durante la instalación de nginx.
$ sudo apt-key add nginx_signing.key
Agregue el repositorio Nginx colocando la siguiente información.
$ sudo nano /etc/apt/sources.list deb http://nginx.org/packages/mainline/ubuntu/ utopic nginx deb-src http://nginx.org/packages/mainline/ubuntu/ utopic nginx
Actualizar repositorios.
$ sudo apt-get update
Instale Nginx usando el siguiente comando.
$ sudo apt-get install nginx
Abra el navegador web y visite http://your-ip-address , debería ver la página siguiente; esto le confirmará que ngnix se instaló correctamente en el servidor.
La raíz del documento nginx predeterminada en Ubuntu 14.10 es /usr/share/nginx/html/ . Los archivos de configuración están en el directorio /etc/nginx.
Instalar PHP5-FPM
Lo siguiente es instalar PHP a través de PHP-FPM (PHP-FPM (Administrador de procesos FastCGI), es una implementación alternativa de PHP FastCGI. Tiene algunas características adicionales útiles para sitios de cualquier tamaño, especialmente sitios más ocupados). Instálelo emitiendo el siguiente comando.
$ sudo apt-get install php5-fpm php5-mysql php5-cli
Edite /etc/php.ini.
$ sudo nano /etc/php5/fpm/php.ini
establecer cgi.fix_pathinfo=0
cgi.fix_pathinfo=0
Edite el archivo /etc/php5/fpm/pool.d/www.conf,
$ sudo nano /etc/php5/fpm/pool.d/www.conf
Asegúrese de que los siguientes valores no estén comentados.
listen = /var/run/php5-fpm.sock
Habilitación de la compatibilidad con PHP-FPM en el host virtual
Vamos a crear un servidor virtual basado en el nombre en el servidor Nginx para obtener los siguientes detalles.
Nombre del servidor:server.itzgeek.com
Raíz del documento:/usr/share/nginx/html/itzgeek.com
Cree el archivo de configuración llamado virtual.conf y edite /etc/nginx/conf.d/virtual.conf .
$ sudo nano /etc/nginx/conf.d/virtual.conf
Agrega el siguiente contenido.
server { server_name server.itzgeek.com; root /usr/share/nginx/html/itzgeek.com; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/itzgeek.com$fastcgi_script_name; } }
Cree una entrada de host para su dominio (server.itzgeek.com) en el archivo /etc/hosts.
$ sudo nano /etc/hosts
Agregar entrada de host, la línea debería verse como a continuación.
127.0.0.1 localhost.localdomain localhost server.itzgeek.com
Probando la compatibilidad con PHP-FPM en el host virtual
Cree el directorio raíz del documento.
$ sudo mkdir /usr/share/nginx/html/itzgeek.com
Para probar el PHP, coloque un archivo PHP en la raíz del documento del host virtual creado. En la terminal, copie/pegue la siguiente línea:
# sudo nano /usr/share/nginx/html/itzgeek.com/index.php
Esto abrirá un archivo llamado index.php, copia/pega esta línea en el archivo index.php:
<?php phpinfo(); ?>
Guarde y cierre el archivo.
Reinicie los servicios.
$ sudo service nginx reload $ sudo service php5-fpm reload
Ahora abra su navegador web y escriba su dominio en la dirección web:
http://server.itzgeek.com
La página se ve a continuación:
En la captura de pantalla anterior, PHP funciona y funciona a través de FPM/FastCGI, como se muestra en la línea API del servidor. Si se desplaza hacia abajo, verá todos los módulos que ya están habilitados en PHP.
Desplácese hacia abajo en el navegador y busque la información de soporte de MySQL.
Accesorios
Si obtiene un error de puerta de enlace incorrecto o un error relacionado con el permiso denegado como se muestra a continuación en /var/log/nginx/error.log.
connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream.
Edite el siguiente archivo.
sudo nano /etc/php5/fpm/pool.d/www.conf
Cambie el propietario de www-data a nginx y habilite el permiso también.
listen.owner = nginx listen.group = nginx listen.mode = 0660
¡Eso es todo!