Cómo instalar Nginx en un equipo con Linux Ubuntu Server 22 y cómo hacerlo servidor web. Cómo iniciar, detener, ver estado o activar autoarranque del servicio de nginx.
- Instalar Nginx en Linux Ubuntu Server.
- Iniciar, detener, desactivar en arranque, activar en arranque el servicio de nginx.
- Algunas carpetas y ficheros importantes de nginx.
Instalar Nginx en Linux Ubuntu Server
El proceso de instalación del servidor web Nginx (similar a Apache) es bastante sencillo en Ubuntu Server. En primer lugar, actualizaremos la lista de paquetes con el siguiente comando:
1 |
sudo apt update |
Si queremos actualizar todos los paquetes con versiones más recientes, ejecutaremos este otro comando:
1 |
sudo apt upgrade |
A continuación, para instalar Nginx, ejecutaremos el siguiente comando:
1 |
sudo apt install nginx |
Con este sencillo comando, una vez que finalice, habrá instalado Nginx y habrá creado las reglas necesarias en el cortafuegos de Linux Ubuntu Server (ufw), aunque no estarán habilitadas. Para mostrar las reglas creadas, ejecutaremos el comando:
1 |
sudo ufw app list |
Comprobaremos que, efectivamente, la instalación de Nginx ha creado las reglas necesarias en el cortafuegos:
1 2 3 4 5 |
Available applications: Nginx Full Nginx HTTP Nginx HTTPS |
Por seguridad, siempre es recomendable activar únicamente los puertos que vayamos a necesitar. En caso de que el servidor web use el puerto HTTP (80), habilitaremos únicamente la regla «Nginx HTTP», con el comando:
1 |
sudo ufw allow "Nginx HTTP" |
Comprobaremos que el cortafuegos está activo y las reglas aplicadas, con el comando:
1 |
sudo ufw status |
Si ahora realizamos una prueba, desde un equipo de la red, abriendo un navegador e introduciendo la dirección IP del servidor Linux Ubuntu con Nginx veremos que nos muestra una página de prueba, «Welcome to nginx!»
Con lo que el servidor web con Linux Ubuntu Server y nginx ha quedado correctamente instalado.
Iniciar, detener, desactivar en arranque, activar en arranque el servicio de nginx
A continuación mostramos los comandos necesarios para trabajar con el servicio de nginx en Linux Ubuntu Server. Empezaremos por mostrar el estado actual del servicio, con el comando:
1 |
sudo systemctl status nginx |
Si el servicio de nginx está iniciado, nos devolverá algo así como:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
proyectoa@svcontabilidad:~$ sudo systemctl status nginx 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 Tue 2023-11-07 13:47:50 UTC; 30min ago Docs: man:nginx(8) Process: 15198 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 15199 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 15293 (nginx) Tasks: 3 (limit: 9389) Memory: 4.6M CPU: 50ms CGroup: /system.slice/nginx.service ├─15293 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ├─15296 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" └─15297 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" nov 07 13:47:50 svcontabilidad systemd[1]: Starting A high performance web server and a reverse proxy server... nov 07 13:47:50 svcontabilidad systemd[1]: Started A high performance web server and a reverse proxy server. |
Para detene el servicio nginx, ejecutaremos el comando:
1 |
sudo systemctl stop nginx |
Para iniciar el servicio nginx, ejecutaremos el comando:
1 |
sudo systemctl start nginx |
Si queremos reiniciarlo (detenerlo e iniciarlo), ejecutaremos:
1 |
sudo systemctl restart nginx |
El servicio de nginx, en su instalación, se configura para que se arranque al iniciar el equipo. Si queremos desactivar el autoarranque de nginx, ejecutaremos el comando:
1 |
sudo systemctl disable nginx |
Y si queremos volver a habilitar el autoarranque en el inicio, ejecutaremos el comando:
1 |
sudo systemctl enable nginx |
Algunas carpetas y ficheros importantes de nginx
A continuación, indicamos algunas de las ubicaciones de los ficheros importantes de nginx. Empezaremos por la ubicación por defecto de los ficheros de nuestros sitios web, que es:
/var/www/html
En la carpeta anterior residará el fichero «index.nginx-debian.html» que se crea en la instalación y es el que se muestra al accder al servidor web. Es un fichero HTML de ejemplo.
El fichero de configuración de nginx es:
/etc/nginx/nginx.conf
Si utilizamos la opción de bloques (VirtualHost de Apache) en nginx, tendremos el directorio donde se pueden almacenar los bloques de cada sitio web, alojados en:
/etc/nginx/sites-available
En la carpeta anterior, se guardarán los ficheros de configuración de cada sitio web que queramos alojar en el servidor, teniendo en cuenta que los que haya en esta carpeta no tienen por qué ser los que haya habilitados. Los habilitados se definen en la carpeta:
/etc/nginx/sites-enabled
El funcionamiento es similar al VirtualHost de Apache.
El fichero de log de accesos de nginx se almacenan en:
/var/log/nginx/access.log
Y el fichero de log de errores de nginx se almacena en:
/var/log/nginx/error.log