En este tutorial, le mostraremos cómo instalar LEMP en CentOS 7. Para aquellos de ustedes que no lo sabían, una pila de software LEMP es un grupo de software de código abierto que es normalmente se instalan juntos para permitir que un servidor aloje sitios web dinámicos y aplicaciones web. Este término es en realidad un acrónimo que representa el sistema operativo Linux, con el servidor web Nginx (que reemplaza el componente Apache de una pila LAMP). Los datos del sitio se almacenan en una base de datos MySQL (usando MariaDB), y el contenido dinámico es procesado por PHP.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple. mostrarle la instalación paso a paso de LEMP (Linux, Nginx, MariaDB y PHP) en el servidor CentOS 7.
Instalar LEMP en CentOS 7
Paso 1. En primer lugar, asegúrese de que todos los paquetes estén actualizados.
yum -y update
Paso 2. Instalación y configuración de NGINX en CentOS 7.
Nginx aún no está disponible en los repositorios oficiales de CentOS 7, por lo que debemos agregar/instalar el repositorio Nginx yum emitiendo el siguiente comando:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx
Inicie Nginx y agréguelo para que se inicie automáticamente en el inicio de su sistema usando:
systemctl restart nginx systemctl enable nginx
Puede verificar que Nginx realmente se está ejecutando abriendo su navegador web favorito e ingresando la URL http://dirección-de-su-servidor, si está instalada, luego verás esto:
Paso 3. Configure el servidor web Nginx.
Supongamos que tiene un dominio mydomain.com y desea usarlo para alojar una aplicación web basada en PHP en /var/www/mydomain.com
como WordPress, Joomla. Para configurar las solicitudes de servicio de Nginx para mydomain.com y servir los scripts PHP en /var/www/mydomain.com, debe crear un bloque de servidor en /etc/nginx/conf.d/mydomain.com.conf
que sería algo como esto:
### nano /etc/nginx/conf.d/mydomain.com.conf server { server_name mydomain.com; listen 80; root /var/www/mydomain.com; access_log /var/log/nginx/mydomain.com-access.log; error_log /var/log/nginx/mydomain.com-error.log; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } location ~ /\.ht { deny all; } location ~ \.php { try_files $uri = 404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Pruebe y reinicie Nginx usando:
nginx -t systemctl restart nginx
Paso 4. Instalación y configuración de PHP en CentOS 7.
Instala PHP en CentOS 7 con el siguiente comando para comenzar la instalación:
yum install php-fpm php-mysql php-mcrypt
Es posible que desee instalar algunas otras extensiones PHP requeridas por sus aplicaciones. La siguiente es una lista de los módulos PHP disponibles:
php-bcmath : A module for PHP applications for using the bcmath library php-cli : Command-line interface for PHP php-common : Common files for PHP php-dba : A database abstraction layer module for PHP applications php-devel : Files needed for building PHP extensions php-embedded : PHP library for embedding in applications php-enchant : Enchant spelling extension for PHP applications php-fpm : PHP FastCGI Process Manager php-gd : A module for PHP applications for using the gd graphics library php-intl : Internationalization extension for PHP applications php-ldap : A module for PHP applications that use LDAP php-mbstring : A module for PHP applications which need multi-byte string handling php-mysql : A module for PHP applications that use MySQL databases php-mysqlnd : A module for PHP applications that use MySQL databases php-odbc : A module for PHP applications that use ODBC databases php-pdo : A database access abstraction module for PHP applications php-pear.noarch : PHP Extension and Application Repository framework php-pecl-memcache : Extension to work with the Memcached caching daemon php-pgsql : A PostgreSQL database module for PHP php-process : Modules for PHP script using system process interfaces php-pspell : A module for PHP applications for using pspell interfaces php-recode : A module for PHP applications for using the recode library php-snmp : A module for PHP applications that query SNMP-managed devices php-soap : A module for PHP applications that use the SOAP protocol php-xml : A module for PHP applications which use XML php-xmlrpc : A module for PHP applications which use the XML-RPC protocol
Reinicie Nginx para que todos los cambios surtan efecto:
systemctl restart nginx systemctl restart php-fpm systemctl enable php-fpm
Para probar PHP, cree un archivo de prueba llamado info.php con el contenido a continuación. Guarde el archivo, luego navegue hasta él para ver si PHP funciona:
nano /var/www/html/info.php
<?php phpinfo(); ?>
Paso 5. Instalación y configuración de MariaDB en CentOS 7.
Instala MariaDB con el siguiente comando para comenzar la instalación:
yum install mariadb mariadb-server mysql
Después de eso, agréguelo al inicio de su sistema e inicie el servidor MariaDB usando los siguientes comandos:
systemctl restart mariadb systemctl status mariadb systemctl enable mariadb
De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB utilizando el script mysql_secure_installation. Debe leer y seguir cada paso cuidadosamente, que establecerá una contraseña de root, eliminará el anónimo usuarios, no permita el inicio de sesión raíz remoto y elimine la base de datos de prueba y acceda a MySQL seguro:
mysql_secure_installation
Para iniciar sesión en MariaDB, use el siguiente comando (tenga en cuenta que es el mismo comando que usaría para iniciar sesión en una base de datos MySQL):
mysql -u root -p
Paso 6. Configurar IPTables o cortafuegos.
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload
¡Felicitaciones! Ha instalado correctamente la pila LEMP. Gracias por usar este tutorial para instalar LEMP (Linux Nginx, MariaDB y PHP) en el sistema CentOS 7. Para obtener ayuda adicional o información útil, le le recomendamos que consulte los sitios web oficiales de Nginx, MariaDB y PHP.