19.05.2023

Cómo instalar y configurar Nginx on CentOS 7

Nginx es un servidor web muy popular debido a su rendimiento y facilidad de uso. En este tutorial, lo guiaremos a través de la instalación y configuración básica de Nginx on CentOS 7.

En Serverspace usted puede crear un servidor con la aplicación ya instalada "Nginx".

Instalación Nginx

Si usa un usuario no root, entonces debe tener derechos de sudo y agregar a todos los comandos sudo delante de ellos.

Para instalar Nginx, agregue el repositorio EPEL.

yum instalar epel-liberación -y

Ahora instalaremos Nginx, así como el editor de texto nano para mayor comodidad.

yum instalar nginx nano-y

De forma predeterminada, Nginx está configurado para trabajar con ambos IPv4 y direcciones IPv6. Si el último no está configurado en el servidor, como en mi caso, entonces el servidor web simplemente no se iniciará. Por lo tanto, inmediatamente vamos a la configuración:

año /etc/nginx/nginx.conf

Busca la siguiente línea y coméntala, es decir, ponle un signo # al principio:

escucha [::]:80 servidor_predeterminado;

Resultado:

# escucha [::]:80 servidor_predeterminado;

Guardemos el archivo y verifiquemos la configuración en busca de errores:

nginx -t

Salida:

nginx: el archivo de configuración /etc/nginx/nginxLa sintaxis de .conf está bien
nginx: archivo de configuración /etc/nginx/nginxLa prueba .conf es exitosa

Si su salida se ve diferente, entonces dice qué errores deben corregirse en la configuración.

Ahora comencemos Nginx y agréguelo a la ejecución automática.

systemctl habilitar --ahora nginx

Si está utilizando Firewall, debe agregar una regla de autorización para el servidor web. A continuación se muestra un ejemplo para Firewalld, ingrese los comandos en secuencia:

firewall-cmd --zone=público --permanente --add-service=http
firewall-cmd --zone=público --permanente --add-service=https
firewall-cmd --recargar

Configuración de la ubicación de los archivos del sitio

De forma predeterminada, nginx muestra una página de información en el sitio. Configuremos una ubicación diferente para los archivos del sitio y agreguemos nuestra propia página. Primero, vamos a crear los directorios requeridos.

mkdir -p /var/www/predeterminado

Ahora vamos a crear la página en sí misma en una nueva carpeta:

nano /var/www/default/index.html

Y añádele contenido, que puede ser cualquier cosa. Por ejemplo:

mi primera pagina web

Establezcamos el propietario del directorio y el archivo en él en el nginx usuario:

Chown -R nginx:nginx /var/www/predeterminado/

Usaremos el host virtual que ya está en el nginx configuración y reemplace la configuración para la ubicación de los archivos del sitio. Para ello, abra el nginx de configuración:

nano /etc/nginx/nginx.conf

Necesitas encontrar el servidor sección, que comienza con escucha 80 servidor_predeterminado;, y en ella la raíz parameter, que establece la ruta a los archivos del sitio. Vamos a reemplazarlo con el camino. /var/www/predeterminado/ acabamos de crear:

    servidor { escucha 80 servidor_predeterminado; # escucha [::]:80 servidor_predeterminado; nombre del servidor _; raíz /var/www/predeterminado/; ...

Guarde el archivo y reinicie nginx.

reiniciar systemctl nginx

Ahora, al acceder a la dirección del servidor desde la ventana del navegador, verá el contenido de la página recién creada.

Configuración de procesamiento de PHP

Para trabajar con PHP, instale php-fpm:

yum instalar php-fpm

Ahora vamos a ejecutarlo y agregarlo al inicio:

systemctl habilitar --ahora php-fpm

Añadir a la nginx configuración al final del mismo servidor sección como antes, configuración para trabajar con php-fpm:

nano /etc/nginx/nginx.conf
ubicación ~ \ .php $ {
probar_archivos $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index índice.php;
fastcgi_param SCRIPT_FILENAME $raíz_documento$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
incluir fastcgi_params;
}

Reanudar nginx:

reiniciar systemctl nginx

Vamos a crear un archivo para probar la funcionalidad de php-fpm:

echo "" > /var/www/default/info.php

Vamos a abrir http://server-IP/info.php en la barra de direcciones del navegador y ver información sobre PHP:

Captura de pantalla 1. Comprobación del funcionamiento de PHP.

Esta salida confirma que nginx + php-fpm está funcionando. Después de probar el funcionamiento del servidor, asegúrese de eliminar esta página, ya que representa una amenaza para la seguridad del servidor.