Cómo instalar la pila LEMP (Linux, Nginx, MySQL, PHP-FPM) en CentOS7 – Alojamiento –

Una pila LEMP (Linux, Nginx, MySQL, PHP+Fast-CGI Process Manager) es la segunda forma más popular después de LAMP de configurar el servidor web para alojar contenido web. Nginx es conocido por su estabilidad, rico conjunto de funciones, configuración simple y bajo consumo de recursos. Este tutorial muestra cómo puede instalar Nginx con soporte PHP a través de Fast-CGI Process Manager.

Nos gustaría informarle que no brindamos más soporte para configuraciones que no sean de cPanel, por lo que la administración adicional debe ser proporcionada únicamente por su parte.

Todos los comandos deben ejecutarse con acceso raíz únicamente en un sistema operativo “en blanco”. Puede instalar un sistema operativo limpio utilizando la consola de administración de VPS o IMPI para servidores dedicados. También puedes acudir al departamento de Hosting – VPS y Servidores Dedicados para que nuestros técnicos vuelvan a instalar el SO requerido (en este caso es CentOS7.0) al final. A continuación puede ver un ejemplo del panel de administración de VPS:

Primero limpie yum, luego actualice el sistema operativo a la última versión usando:

mmm limpiar todo

mmm actualización

Yum es un instalador de paquetes de CentOS, cada vez que lo usamos vemos esta ventana:

Si ves ¡Completo! al final ejecutando yum update, todo está bien.

Fuerce una nueva etiqueta del sistema de archivos SELinux en el próximo arranque:

restaurarcon -r /

Es posible que desee cambiar la contraseña de root predeterminada proporcionada en el correo electrónico de bienvenida del alojamiento. Asegúrese de que la contraseña sea lo suficientemente segura y guárdela en un lugar seguro. El nombre de host debe ser algún subdominio que no planee utilizar para el sitio web. De forma predeterminada está configurado como servidor1.tudominio.tld, pero puedes cambiarlo en cualquier momento más adelante.

El cambio de contraseña se realiza mediante el comando passwd. El nombre de host se puede verificar usando el comando de nombre de host:

En este ejemplo, planeamos crear un sitio web http://nctest.com y nuestro nombre de host es server1.nctest.com.

Reinicie el servidor:

reiniciar

Después de reiniciar el servidor, podemos verificar el kernel actualizado y la versión de CentOS:

uname -r

gato /etc/redhat-release

Es posible que encuentres un problema menor después del reinicio que no afecta la estabilidad adicional:

Simplemente inicie el servicio nuevamente ejecutando:

systemctl iniciar systemd-journald.service

El estado de cada proceso systemd se puede verificar de manera similar al inicio de CentOS6 pero usando systemctl:

estado del sistema

Nginx no está incluido en el repositorio de CentOS7 de forma predeterminada, por lo que primero instalamos el repositorio Webtatic Yum, que es un repositorio de CentOS/RHEL que contiene paquetes actualizados relacionados con la web y paquetes adicionales para Enterprise Linux (o EPEL). EPEL para Nginx y Webstatic para soporte de versiones PHP más recientes.

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

E instale Nginx usando:

mmm instalar nginx

Necesitará instalar la clave de firma CentOS RPM que se utiliza para firmar paquetes, simplemente escriba y:

Una vez completado, debería ver este mensaje:

Luego instalaremos PHP con soporte para MySQL y PHP-FPM:

See also  Registro de Dominio .press | Compre .press Nuevo gTLD por $14,99

Por el momento, los repositorios predeterminados de CentOS 7 incluyen la versión PHP 5.4.16. Sin embargo, esta versión de PHP ya se considera obsoleta; la versión actualizada es 5.6. Le sugerimos verificar los scripts que va a instalar para considerar qué versión de PHP necesita.

Así, ejecutando este comando instalaremos PHP 5.4.16, en caso de que necesites otro, consulta otras opciones a continuación:

yum instalar php php-mysql php-fpm

La instalación exitosa se ve como en la captura de pantalla a continuación. Después de una instalación, verificamos la versión de php instalada usando:

php-v

Instalación de otra versión de PHP

No te preocupes en caso de que necesites otra versión de PHP. Incluimos el repositorio Webstatic antes, que contiene versiones PHP 5.5-7.0.

Al verificar con el comando yum search php, podemos encontrar que también se incluyen nuevos paquetes PHP como php55w, php56w e incluso el nuevo php70w. No olvide instalar el módulo phpXXw-fpm.

Por ejemplo, para instalar PHP5.5 en lugar del 5.4 predeterminado en CentOS7 ejecutamos:

yum instalar php55w php55w-mysql php55w-opcache php55w-fpm

Lo mismo para otras versiones de PHP que serán relevantes para ambas versiones de CentOS. Las versiones 5.5 – 7.0 incluyen el módulo Zend Opcache, por lo que será razonable instalarlo también:

PHP v5.6: yum instala php56w php56w-opcache php56w-mysql php56w-fpm

PHP v7.0: yum instala php70w php70w-opcache php70w-mysql php70w-fpm

Los paquetes están fuera de los repositorios predeterminados de CentOS; durante la instalación necesitarás importar una clave de seguridad:

El ejemplo de una instalación exitosa. Instalamos PHP5.6 aquí y luego verificamos la versión de PHP usando php -v:

Instalación de módulos PHP adicionales

Si descubre que faltan algunos módulos necesarios, puede enumerar los módulos disponibles usando:

mmm buscar en php

En caso de que tenga una versión PHP distinta a 5.3, será razonable excluir módulos para otras versiones cambiando php a phpXX dependiendo de la versión que utilice. Por ejemplo, para PHP5.6 necesitas usar el comando yum search php56w. Yum mostrará todos los módulos comenzando desde php:

Para instalar un módulo necesita ingresar:

mmm instalar

donde está el nombre completo del módulo a instalar:

Para instalar varios módulos a la vez necesitas separar el nombre de cada módulo con un espacio, como:

yum instalar php-cli.x86_64 php-common.x86_64 php-dba.x86_64

Primero necesitamos algunas modificaciones para conectar y configurar Nginx con FastCGI.

Abra el archivo de configuración principal PHP /etc/php.ini y busque cgi.fix_pathinfo.

Podemos usar el editor de texto nano para modificar el archivo:

nano /etc/php.ini

Cambie cgi.fix_pathinfo=1 a cgi.fix_pathinfo=0

El archivo es enorme, sin embargo, puede usar estas combinaciones para encontrar fácilmente la línea solicitada: presione Ctrl+V para saltar a la página siguiente, la combinación Ctrl+W permite la búsqueda.

Guarde el archivo presionando Ctrl+O, Enter y luego ciérrelo con Ctrl+X.

1 de cgi.fix_pathinfo permitirá buscar el archivo que esté lo más cerca posible del archivo solicitado, lo que a su vez puede permitir que los archivos que no sean PHP se ejecuten como PHP. Es un posible riesgo de seguridad. 0 hace que el intérprete de PHP solo pruebe la ruta literal proporcionada y detenga el procesamiento si no se encuentra el archivo. Puedes encontrar más información.

See also  Registro de Dominio .film | Compre un gTLD .film barato

Luego abra el archivo de configuración de correo Nginx:

nano /etc/nginx/nginx.conf

NGINX puede ejecutar múltiples procesos de trabajo, cada uno de ellos capaz de procesar una gran cantidad de conexiones simultáneas. En la mayoría de los casos, ejecutar un proceso de trabajo por núcleo de CPU funciona bien, pero recomendamos configurar auto. En este ejemplo tenemos un servidor con 2 núcleos de CPU, así que configure 2.

Worker_connections es un número máximo de conexiones que cada proceso de trabajo puede manejar simultáneamente. Un valor entre 512 y 1024 está bien:

Casi todos los navegadores admiten la recepción de contenido comprimido, por lo que definitivamente queremos activarlo. Busque la declaración gzip y copie estas líneas al final del archivo. Tenga cuidado con el orden de los signos {}:

gzip activado;

gzip_min_length 1000;

gzip_types texto/texto sin formato/aplicación css/aplicación json/texto x-javascript/aplicación xml/aplicación xml/xml+texto rss/javascript;

Guarde y cierre el archivo. Luego edite el archivo de configuración php-fpm:

nano /etc/php-fpm.d/www.conf

Primero forzamos a php-fpm a escuchar en el socket Unix en lugar de TCP, que debería ser un poco más rápido.

escucha 127.0.0.1:9000 debe cambiarse a escuchar = '/var/run/fastcgi.sock'

Luego configure el usuario y grupo de Nginx ya que de forma predeterminada contiene configuraciones de Apache que no necesitamos:

También configuramos permisos para el socket Unix para el mismo usuario de nginx y configuramos permisos 0660 para él:

Guarde y cierre el archivo.

Inicie el servidor Nginx y el servicio php-fpm:

systemctl iniciar nginx

systemctl inicia php-fpm

Y habilite la carga automática de ambos después del inicio del servidor:

systemctl habilitar nginx

systemctl habilita php-fpm

Luego agregue excepciones de firewall para los puertos http:

firewall-cmd –permanente –add-port=80/tcp

firewall-cmd –permanente –add-port=443/tcp

firewall-cmd –recargar

En caso de que el nombre de dominio apunte al servidor, puede consultar la página de inicio de Apache. De lo contrario, puede ingresar la IP del servidor en el navegador. No se confunda con el mensaje “en Fedora”. El paquete EPEL que usamos para instalar Nginx es el proyecto Fedora, por lo que se usa la misma página de bienvenida:

Usamos el mismo instalador de Yum. En CentOS7 es razonable instalar el paquete MariaDB nativo en lugar del MySQL estándar. El objetivo de Maria-DB es ser un reemplazo directo de MySQL, con más funciones y mejor rendimiento:

yum instalar el servidor mariadb

Una vez hecho esto, verifique la versión de MySQL instalada e inicie el servicio MySQL:

systemctl iniciar mariadb

systemctl habilitar mariadb

MySQL-V

El servidor MariaDB tiene su propio usuario root con una contraseña diferente. Entonces necesitamos configurar la contraseña raíz de MySQL:

/usr/bin/mysql_secure_installation

Como todavía no tenemos ninguna contraseña de MySQL configurada, debe presionar Enter cuando le solicite la contraseña de root actual y establecer una nueva. MariaDB tiene su propio usuario root:

Responda y cuando se le solicite:

¿Establecer contraseña de root?

Nueva contraseña: Ingresar

Vuelva a ingresar la nueva contraseña: Ingresar

¿Eliminar usuarios anónimos?

¿No permitir el inicio de sesión de root de forma remota?

¿Eliminar la base de datos de prueba y acceder a ella?

¿Recargar tablas de privilegios ahora?

See also  - Condiciones de servicio de FastVPN

Al final deberías ver ¡Gracias por usar MariaDB!

Puede iniciar la línea de comando MySQL usando este comando:

mysql -u raíz -p

E ingrese la contraseña de MySQL que acaba de configurar:

A continuación puede encontrar los comandos MySQL más útiles:

Crear base de datos:

CREAR BASE DE DATOS nombre de base de datos;

nombre de base de datos debe ser una base de datos que desea crear. Será mejor que no uses espacios en el nombre. En este ejemplo usamos la base de datos wp y el usuario wpuser:

Crea un usuario y concédele todos los permisos:

OTORGAR TODO EN el nombre de la base de datos.* AL usuario@localhost IDENTIFICADO POR 'contraseña';

Cambie el nombre de la base de datos, el usuario sql y la contraseña por los suyos propios. El comando GRANT ALL asigna todos los privilegios (leer, eliminar, modificar o agregar datos) a ese usuario solo para esta base de datos:

No olvide guardar nombre de usuario y contraseña. Lo necesitará para conectar su sitio web a la base de datos MySQL.

La base de datos que creó se puede enumerar usando:

mostrar bases de datos;

Escriba salir para cerrar la consola MariaDB.

Básicamente, necesitamos crear una carpeta para cargar archivos de un sitio web específico y decirle a Nginx dónde se encuentran los archivos de host específicos. Reemplace dominio.com con su nombre de dominio real. Haga esto en toda la parte de este tutorial.

Cambie al directorio raíz del servidor y cree una carpeta de sitio web. Una vez creado, debemos cambiar los permisos de propiedad del usuario de Nginx (cada servicio tiene su propio usuario) y establecer los permisos de carpeta www apropiados de 755:

cd /

mkdir -p /var/www/dominio.com/public_html

chown -R nginx:nginx /var/www/domain.com/public_html

chmod 755 /var/www

En el siguiente ejemplo utilizamos nctest.com:

Nginx recupera bloques de servidor (hosts virtuales) de la carpeta /etc/nginx/conf.d de forma predeterminada. Entonces, todo lo que necesitas es crear un archivo de configuración con tu primer host allí. Puede establecerle cualquier nombre, pero para evitar más confusiones, es una buena idea establecer un nombre apropiado. Por ejemplo, nombre del sitio web + parte conf. En este ejemplo crearemos un archivo de configuración para nctest.com (y el alias www.nctest.com):

nano /etc/nginx/conf.d/nctest.com.conf

Las líneas de bloqueo del servidor se ven así, péguelas en el archivo abierto y modifique el nombre de host y la ruta de la carpeta (marcamos los campos para modificar en verde):

servidor {

escuchar 80;

nombre del servidor nctest.com www.nctest.com;

ubicación / {

raíz /var/www/nctest.com/public_html;

índice index.php index.html index.htm;

}

# Pasar todos los archivos .php a un servidor php-fpm/php-fcgi.

ubicación ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

si (!-f…

Loading Facebook Comments ...
Loading Disqus Comments ...