Partiendo desde un servidor "virgen" con una instalación fresca de Debian 10, este artículo explica cómo compilar e instalar el servidor Web Nginx desde sus fuentes.
Descargar y extraer la última versión estable disponible desde el sitio oficial de descargas de Nginx (nginx.org/en/download.html):
# cd # wget http://nginx.org/download/nginx-1.16.1.tar.gz # tar -xzf nginx-1.16.1.tar.gz
Revisar las opciones de configuración:
# cd nginx-1.16.1/ # ./configure --help
Instalar dependencias necesarias para compilar el paquete:
# apt-get update && apt-get upgrade # apt-get install build-essential libpcre3-dev libssl-dev zlib1g-dev
Configurar el paquete:
# ./configure --with-http_ssl_module
Compilar e instalar:
# make # make install # cd
Crear un enlace simbólico al binario en /sbin
:
# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
Instalar un script de inicio:
# apt-get install git # git clone git clone https://github.com/Fleshgrinder/nginx-sysvinit-script.git # cd nginx-sysvinit-script/ # make
Habilitar el servicio:
# update-rc.d nginx defaults
En este caso se trata de una instalación de Debian 10 con systemd. Como yo prefiero seguir utilizando scripts de inicio SystemV, y systemd lo permite, he decidido hacerlo así. Solo resta recargar la configuración del demonio systemd para que detecte este cambio:
# systemctl daemon-reload
Iniciar Nginx por primera vez:
# service nginx start
Verificar el funcionamiento:
root@linuxito:~# service nginx status ● nginx.service - LSB: nginx LSB init script Loaded: loaded (/etc/init.d/nginx; generated) Active: active (running) since Wed 2019-12-04 13:25:25 UTC; 37s ago Docs: man:systemd-sysv-generator(8) Process: 20242 ExecStart=/etc/init.d/nginx start (code=exited, status=0/SUCCESS) Tasks: 2 (limit: 2377) Memory: 2.1M CGroup: /system.slice/nginx.service ├─20253 nginx: master process /usr/sbin/nginx └─20254 nginx: worker process Dec 04 13:25:25 linuxito systemd[1]: Starting LSB: nginx LSB init script... Dec 04 13:25:25 linuxito systemd[1]: Started LSB: nginx LSB init script.
root@linuxito:~# netstat -tulpn | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 20253/nginx: master
Para configurar el servidor Nginx, revisar la configuración en el artículo "Instalación y configuración de Nginx con PHP-FPM".