Nginx es un servidor HTTP gratuito, de código abierto y de alto rendimiento. Nginx es conocido por su estabilidad, amplio conjunto de funciones, configuración simple y bajo consumo de recursos.
Este tutorial le muestra cómo instalar Nginx en Fedora 27 con soporte PHP (a través de PHP-FPM) y MariaDB apoyo.
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 concurridos).
Lo primero que debe hacer es iniciar sesión como raíz o cambiar a usuario raíz.
su -
Instalar MariaDB
Primero, instalaremos el MariaDB emitiendo el siguiente comando.
dnf -y install mariadb mariadb-server
Inicie el servidor MariaDB.
systemctl start mariadb
Inicio automático MariaDB durante cada arranque, escriba lo siguiente en la terminal y presione Enter.
systemctl enable mariadb
Lo siguiente es hacer que MariaDB sea seguro usando el comando mysql_secure_installation.
Instalar Nginx
Instale Nginx usando el siguiente comando.
dnf -y install nginx
Inicie el Nginx después de la instalación.
systemctl start nginx
IPtables
Ejecute los siguientes comandos para permitir la solicitud HTTP a través del firewall.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Si obtiene algún error de SELinux en los registros de Nginx, aquí está el tutorial sobre configuración de la política de SELinux para Nginx .
setenforce 0
Abra un navegador web y visite
http://tu-direccion-ipDebería ver la siguiente página y esto le confirmará que Nginx se instaló correctamente en el servidor.
La raíz del documento nginx predeterminada en Fedora 26 es /usr/share/nginx/html/ . Los archivos de configuración están en /etc/nginx directorio.
Ingrese el siguiente comando para permitir que Nginx se inicie al iniciar el sistema.
systemctl enable nginx
Instalar PHP5-FPM
Lo siguiente es instalar PHP a través de PHP-FPM (PHP-FPM (FastCGI Process Manager).
dnf -y install php-fpm php-mysqlnd php-cli
Edite /etc/php.ini.
vi /etc/php.ini
establecer cgi.fix_pathinfo=0
cgi.fix_pathinfo=0
Edite el archivo /etc/php-fpm.d/www.conf,
vi /etc/php-fpm.d/www.conf
Cambia esta línea.
listen = /run/php-fpm/www.sock
PARA:
listen = 9000
Asegúrese de que los siguientes valores no estén comentados.
[.More.] pm.min_spare_servers = 5 [.More.] pm.max_spare_servers = 35 [.More.]
Configure PHP-FPM para que se inicie automáticamente al arrancar el sistema.
systemctl enable php-fpm
Habilitar la compatibilidad con PHP-FPM en el host virtual
Vamos a crear un host virtual basado en nombres en el servidor Nginx para obtener los siguientes detalles.
Nombre del servidor:servidor.itzgeek.local
Raíz del documento:/usr/share/nginx/html/itzgeek.local
Cree el archivo de configuración llamado virtual.conf y edite /etc/nginx/conf.d/virtual.conf .
vi /etc/nginx/conf.d/virtual.conf
Agrega el siguiente contenido.
server { server_name server.itzgeek.local; root /usr/share/nginx/html/itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/itzgeek.local$fastcgi_script_name; } }
Cree una entrada de host para su dominio (server.itzgeek.local) en el archivo /etc/hosts.
vi /etc/hosts
Agregue una entrada de host como la siguiente.
127.0.0.1 localhost.localdomain localhost server.itzgeek.local
Probar la compatibilidad con PHP-FPM en el servidor virtual
Cree el directorio raíz del documento.
mkdir /usr/share/nginx/html/itzgeek.local
Para probar el PHP, coloque un archivo PHP en la raíz del documento del servidor virtual creado. En la terminal, copie/pegue la siguiente línea:
vi /usr/share/nginx/html/itzgeek.local/index.php
Este comando abrirá un archivo llamado index.php, copia/pega esta línea en el archivo index.php:
<?php phpinfo(); ?>
Guarde y cierre el archivo. use Esc + :wq para guardar el archivo.
Reinicie los servicios.
systemctl restart nginx systemctl restart php-fpm
Ahora abra su navegador web y escriba su dominio en la dirección web:
http://servidor.itzgeek.localLa página debería tener el siguiente aspecto:
A partir de 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.
Eso es todo.