Nginx es un servidor proxy inverso y HTTP gratuito, de alto rendimiento y de código abierto. Se puede utilizar como servidor web independiente y como proxy inverso para Apache y otros servidores web. Es un programa más flexible y liviano que Apache HTTP Server, por eso impulsa algunos de los sitios más grandes de Internet.
Nginx puede manejar la mayor cantidad de conexión que Apache y consumir menos memoria.
Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas relacionadas con Nginx.
En este contexto, veremos cómo instalar Nginx en el servidor Debian 9.
¿Cómo instalar Nginx en Debian?
Antes de continuar con este procedimiento de instalación, asegúrese de que se cumplan los siguientes requisitos previos:
- Debe iniciar sesión en el servidor Debian con una cuenta de usuario no root habilitada para sudo.
- Asegúrese de que Apache o cualquier otro servicio no se esté ejecutando en el puerto 80 o 443.
Ahora, actualice el índice de paquetes del sistema a la última versión ejecutando el comando:
$ sudo apt update
Ahora instale Nginx escribiendo:
$ sudo apt install nginx
Una vez que se complete el proceso de instalación, el servicio Nginx se iniciará automáticamente. Puede verificarlo ejecutando el siguiente comando:
$ sudo systemctl status nginx
Output
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-04-15 20:19:06 IST; 32min ago
Docs: man:nginx(8)
Process: 421 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 370 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 423 (nginx)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/nginx.service
├─423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─424 nginx: worker process
¿Cómo ajustar el cortafuegos para Nginx?
Si el firewall de su servidor está habilitado, debe abrir los puertos HTTP (80) y HTTPS (443).
Ejecute los siguientes comandos para abrir los puertos HTTP(80) y HTTPS(443):
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload
Si usa iptables para filtrar las conexiones a su sistema, deberá abrir los puertos HTTP (80) y HTTPS (443).
Abra los puertos necesarios emitiendo el siguiente comando:
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Puede verificar su instalación de Nginx visitando la siguiente URL en su navegador:
http://YOUR_SERVER_IP_ADDRESS
Ahora verá la página de bienvenida predeterminada de Nginx.
¿Cómo administrar el servicio Nginx?
Finalmente, instaló el servidor HTTP Nginx en su máquina. A continuación se muestran algunos comandos básicos para administrar el servicio Nginx:
Puede detener la ejecución del servicio Nginx debajo del comando:
$ sudo systemctl stop nginx
Para comenzar de nuevo escribiendo:
$ sudo systemctl start nginx
Reinicie (detenga e inicie) el servicio Nginx el servicio Apache mediante:
$ sudo systemctl restart nginx
Si se editó el archivo de configuración y desea recargar el servicio nginx, puede hacerlo escribiendo:
$ sudo systemctl reload nginx
Para deshabilitar Nginx para que se inicie automáticamente después del arranque, ejecute el siguiente comando:
$ sudo systemctl disable nginx
Nuevamente para volver a habilitar escriba:
$ sudo systemctl enable nginx
Estructura de archivos de configuración de Nginx
- Todos los archivos de configuración se encuentran en el directorio /etc/nginx/.
- El archivo de configuración principal de Nginx se encuentra en /etc/nginx/nginx.conf.
- Se recomienda crear un archivo de configuración independiente de cada dominio para mejorar la capacidad de mantenimiento.
- Los nuevos bloques de servidor (archivo de configuración) de cada dominio deben almacenarse en /etc/nginx/sites-availabledirectory. Debe crear un enlace simbólico de estos archivos de configuración en /etc/nginx/sites-enabled para que los utilice Nginx.
- La activación de los bloques del servidor se realiza mediante la creación de un enlace simbólico (un puntero) desde los sitios del archivo de configuración en un directorio /etc/nginx/sites-enabled al directorio de sitios habilitados.
- El directorio raíz web del servidor predeterminado es /var/www/html
- Se recomienda seguir la convención de nomenclatura estándar. El nombre de los archivos de bloque del servidor Nginx debe ser el nombre de dominio y debe terminar con la extensión .conf. Por ejemplo, su nombre de dominio es ejemplo.com, entonces el nombre del archivo de bloqueo del servidor debería ser ejemplo.com.conf
- Los archivos de registro de Nginx (access.log y error.log) se encuentran en el directorio /var/log/nginx/. También se recomienda tener archivos de registro de errores y de acceso diferentes para cada bloque de servidor.
Archivos de registros del servidor Nginx:
/var/log/nginx/access.log:cada solicitud a su servidor web se registra en este archivo de registro a menos que Nginx esté configurado para hacer lo contrario.
/var/log/nginx/error.log:Cualquier error de Nginx se registrará en este registro.