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 CentOS 7/RHEL 7 con compatibilidad con PHP (a través de PHP-FPM) y compatibilidad con MariaDB.
PHP-FPM es una implementación alternativa de PHP FastCGI, y tiene algunas funciones adicionales útiles para sitios de cualquier tamaño, especialmente sitios más concurridos).
Instalar Linux
Aquí está el artículo sobre la instalación paso a paso de CentOS 7 / RHEL 7.
Ahora tienes Linux, y lo siguiente es instalar Apache, MySQL y PHP en él. Instalamos uno por uno.
Lo primero que debe hacer es iniciar sesión como usuario raíz o cambiar al usuario raíz.
$ su
Instalar Nginx
Instale rpm del repositorio de Nginx para descargar Nginx desde el sitio oficial.
### CentOS 7 ### rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm ### RHEL 7 ### rpm -Uvh http://nginx.org/packages/rhel/7/noarch/RPMS/nginx-release-rhel-7-0.el7.ngx.noarch.rpm
Instale Nginx usando el siguiente comando.
yum -y install nginx
Inicie el servicio Nginx después de la instalación.
systemctl start nginx
Cortafuegos
Ejecute los siguientes comandos en la terminal para permitir solicitudes 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 cómo configurar la política de SELinux para Nginx.
De lo contrario, deshabilite SELinux usando el siguiente comando temporalmente para la sesión actual.
setenforce 0
Le recomendamos que deshabilite SELinux de forma permanente.
Prueba Nginx
Abra su navegador web y visite la siguiente URL.
http://tu-direccion-ipDeberías ver la siguiente página. Esta página confirma que Ngnix se instaló correctamente en el servidor.
La raíz del documento nginx predeterminada en CentOS 7 es /usr/share/nginx/html/. Los archivos de configuración se encuentran en el directorio /etc/nginx.
Inicie automáticamente el servicio Nginx al iniciar el sistema.
systemctl enable nginx
Instalar MariaDB
CentOS 7/RHEL 7 ofrece MariaDB v5.5 desde el repositorio del sistema operativo base, que es un poco más antiguo y pronto estará EOL. Puede considerar instalar MariaDB v10.x o MySQL 8.x para su pila LEMP.Primero, instalaremos MariaDB emitiendo el siguiente comando.
yum -y install mariadb mariadb-server
Inicie el servidor MariaDB usando el siguiente comando.
systemctl start mariadb
Permita que MariaDB se inicie automáticamente durante el arranque del sistema.
systemctl enable mariadb
Una vez completada la instalación, debe proteger MariaDB mediante el comando mysql_secure_installation. Puede instalar phpMyAdmin para administrar bases de datos a través de un navegador web.
Instalar PHP
PHP v5.4 (fin de soporte)
La versión de PHP (v5.4) disponible en el repositorio base de CentOS ya ha llegado al final del soporte.
PHP v7.3
Remi, un repositorio de terceros que ofrece una versión actualizada de PHP (v7.3). Para habilitar el repositorio de Remi, instale el paquete de configuración automática del repositorio de Remi.
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Instale PHP a través de PHP-FPM (PHP-FPM (FastCGI Process Manager) usando el comando YUM.
yum install -y --enablerepo=remi-php73 php php-fpm php-mysqlnd php-cli
Edite el archivo /etc/php-fpm.d/www.conf,
vi /etc/php-fpm.d/www.conf
Verifique que PHP-FPM escuche en el puerto 9000.
listen = 127.0.0.1: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.]
Pila LEMP de prueba
Crear servidor virtual
Vamos a crear un host virtual basado en nombre en el servidor Nginx para 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
Cree el directorio raíz del documento.
mkdir /usr/share/nginx/html/itzgeek.local
Prueba de alojamiento virtual
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:
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/itzgeek.local/index.php
Reinicie los servicios y habilite el inicio automático.
systemctl restart nginx systemctl restart php-fpm systemctl enable php-fpm
Ahora, abra su navegador web y escriba su dominio en la barra de direcciones:
http://servidor.itzgeek.localLa página se verá como a continuación:
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á la información de soporte de MariaDB.
Conclusión
Eso es todo. Ha configurado correctamente la pila LEMP en CentOS 7/RHEL 7. Además, puede instalar phpMyAdmin en CentOS 7 para administrar bases de datos MariaDB/MySQL a través de un navegador web.