26.07.2023

Instalación y configuración Nginx

Introducción

Nginx – es uno de los servidores web más populares para publicar sitios importantes con alto tráfico de usuarios. Además, es una utilidad muy cómoda tanto para un servidor web como para configurar un proxy inverso.

En nuestra instrucción vamos a revisar:

Preparativos

Antes de que podamos comenzar a trabajar, necesitamos implementar un Debian/Ubuntu/CentOS servidor, configure mínimamente el sistema con un nuevo usuario y configure los derechos para usar el comando sudo, usando esta instrucción.
Después de eso vamos a instalar Nginx en nuestro servidor.

Instalación Nginx

Nginx es un paquete estándar en la mayoría de los repositorios de sistemas operativos. Si el servidor se configuró recientemente, actualicemos los índices de los paquetes de software e instalemos Nginx paquete:

apt update
instalación adecuada nginx -y

Con la tecla -y está de acuerdo con la instalación automática del paquete.

Configurando firewall

Después de la instalación de Nginx paquete que tienes que configurar firewall para poder conectarse a Nginx externamente.
Veamos las utilidades disponibles agregadas a un firewall lista:

lista de aplicaciones ufw

Necesitamos encontrar estas líneas, que vamos a agregar en el futuro:

Nginx Full – responsable de los puertos 80 (HTTP – normal y el tráfico no está encriptado) y 443 (HTTPS: encripta el tráfico utilizando los protocolos TLS/SSL)
Nginx HTTP – normal y el tráfico no está encriptado
Nginx HTTPS: el tráfico se cifra a través de TLS/SSL
AbiertoSSH – conexión remota al servidor a través del puerto 22

En primer lugar, activemos el acceso para un puerto 80:

ufw permitir'Nginx HTTP'

Comprobar el estado de la regla de adición en firewall puedes con ese comando:

ufw estado

Como resultado podemos ver una lista con Nginx HTTP – Permitir – En cualquier lugar.

Comprobación del servidor web

Después de instalar un paquete, el sistema inicia automáticamente la utilidad, debe agregar un inicio de sesión para Nginx comenzando, después de eso, más allá de reiniciar el sistema, nuestro servidor web se encenderá automáticamente.
Estado de la utilidad que puede verificar usando:

de coches nginx estado

De acuerdo con los resultados, podemos asegurar que el servidor web se inició correctamente. Después de eso, debemos verificar en nuestro sistema principal que Nginx está disponible. Abra un navegador y en la barra de direcciones escriba la dirección de su servidor. Para ver su dirección use este comando:

curl ifconfig.me

Resultado - dirección que debemos escribir en la barra de direcciones.
Después de la transición en una página, podemos ver esto:

En este paso ya instalamos y configuramos Nginx. Y configuramos el acceso al servidor web desde un host externo.

Nginx gestión de procesos

Nginx la gestión de procesos se ejecuta utilizando algunas líneas de comando que comienzan con systemctl, # sign - es una línea comentada, y ponemos información sobre lo que realmente hace el código en ella:

comienzo nginx # a partir de nginx
recargar nginx # si la configuración cambia y realiza un reinicio sin desconectar la conexión
reanudar nginx # reiniciando el servicio
detener nginx # deteniendo el servicio
inhabilitar nginx # deshabilitar desde la carga automática del sistema
habilitar nginx # habilitar la carga automática del sistema

Acabamos de revisar algunos comandos útiles para trabajar con Nginx.

Configuración del bloque del servidor (recomendado)

Para utilizar Nginx Usemos el bloque del servidor como parte del servidor web. En realidad, puede usar la encapsulación de detalles para configurar e implementar más de un sitio en su servidor.

echemos un vistazo serverspaceConfiguración de dominio .tm, necesita comprar un dominio para revisar Nginx trabajo de prueba

In Nginx un bloque de servidor está activado y está procesando la configuración desde el directorio /var/www/html. Esta variante es buena para un sitio implementado, pero evitará el trabajo del servidor web si va a implementar más de un sitio en un servidor. La mejor manera de solucionar esto es separar un sitio web adicional del directorio principal.
Vamos a crear un nuevo directorio con la tecla "-p" en /var/www/:

mkdir -p /var/www/serverspace.tm/html

Para evitar problemas de permisos, desde la aplicación propietaria del directorio raíz del documento de dominio y todos los archivos en el directorio, use Nginx (www-datos):

sudo chown -R www-datos: /var/www/serverspace.tm

Después de eso en /var/www/serverspaceEl directorio .tm/html permite crear un archivo con index.html como nombre, hagamos algunos cambios usando cualquier editor de texto que prefiera y pegue el siguiente fragmento de código en el archivo.





Bienvenido a un ServerSpace.tm
Meditative Healing™

¡Exitosamente! Tu dominio ServerSpace¡.tm está funcionando!

Guarde el archivo y salga.

Ejecutemos la salida con más guardado de archivos.
Si desea Nginx para procesar ese archivo, debe crear un archivo de configuración para procesar el directorio actual. En lugar de editar el archivo de configuración predeterminado, creemos un nuevo archivo para nuestro dominio en /etc/nginxdirectorio /sitios-disponibles/:

vim/etc/nginx/sitios-disponibles/serverspace.tm

Agregue esta configuración y el contenido de index.html se procesará:

servidor {
escuchar 80;
escucha [::]:80;

raíz /var/www/serverspace.tm/html;
índice índice.html índice.htm índice.nginx-debian.html;

nombre del servidor serverspace.tmwww.serverspace.tm;

ubicación /
try_files $ uri $ uri / = 404;
}
}

Después de eso, creemos un enlace simbólico del archivo en /etc/nginxdirectorio /sites-enabled/ para Nginx para procesar luego se inicia el servidor web.

ln -s /etc/nginx/sitios-disponibles/serverspace.tm /etc/nginx/sitios habilitados

El enlace simbólico se asemeja a una etiqueta, en la carpeta principal sitios disponibles puede realizar cambios en el archivo de configuración y los cambios afectarán el archivo desde el directorio de sitios habilitados.
Para evitar problemas con la memoria caché que se producen debido a nombres de servidores adicionales, descomente la línea server_names_hash_buckets_size 64 en el archivo /etc/nginx/nginx.conf:

vim/etc/nginx/nginx.conf
http {
...
nombres_servidor_hash_buckets_tamaño 64;
...
}
...

Guarde el archivo y conectemos.
Compruebe la precisión de la configuración a través de:

nginx -t

Si no se producen errores, reiniciemos Nginx proceso y escriba en la barra de búsqueda:

http://serverspace.tm

Como residuo tendremos esa página:

 

Conclusión

En nuestra instrucción revisamos: