Introduccion

Nginx es uno de los servidores web más populares del mundo y es responsable de alojar algunos de los sitios más grandes y de mayor tráfico en Internet. Es más fácil de usar que Apache en la mayoría de los casos y puede usarse como un servidor web o un proxy inverso.
Wikipedia: "nginx (pronunciado en inglés “engine X”) es un servidor web/proxy inverso ligero de alto rendimiento y un proxy para protocolos de correo electrónico (IMAP/POP3).
Es software libre y de código abierto, licenciado bajo la Licencia BSD simplificada; también existe una versión comercial distribuida bajo el nombre de nginx plus.3 Es multiplataforma, por lo que corre en sistemas tipo Unix (GNU/Linux, BSD, Solaris, Mac OS X, etc.) y Windows.
El sistema es usado por una larga lista de sitios web conocidos,5 como: WordPress, Netflix, Hulu, GitHub, Ohloh, SourceForge, TorrentReactor y partes de Facebook (como el servidor de descarga de archivos zip pesados)."
Instalacion
Dentro de Ubuntu, disponemos de su paquete oficial, por lo que la instalacion se hace bastante sencilla.
1 2 | sudo apt-get update sudo apt-get install nginx |
Ajuste el Firewall
No tenemos porque tenerlo activado, en un server de produccion entiendo que sí ;), pero para nuestras pruebas locales no haría falta.
En caso de tener el FW, lo configuramos así:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | sudo ufw app list sudo ufw allow 'Nginx HTTP' sudo ufw status Output Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6) |
En línea 1 sacamos la lista de reglas a aplicar.
Vemos en la línea 3 como aplicar a la parte de HTTP. Nos habrá salido también:
- Nginx Full: Este perfil abre tanto el puerto 80 (tráfico web normal, sin cifrar) como el puerto 443 (tráfico cifrado TLS / SSL)
- Nginx HTTP: Este perfil abre sólo el puerto 80 (normal, tráfico web no cifrado)
- Nginx HTTPS: Este perfil abre sólo el puerto 443 (tráfico cifrado TLS / SSL)
En el status, ya podemos observar cómo queda configurado el trafico
Servicio de Nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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: en Active: active (running) since mié 2017-06-21 22:51:45 CEST; 1min 17s ago Main PID: 6683 (nginx) CGroup: /system.slice/nginx.service ├─6683 nginx: master process /usr/sbin/nginx -g daemon on; master_pro ├─6684 nginx: worker process ├─6685 nginx: worker process ├─6686 nginx: worker process ├─6687 nginx: worker process ├─6688 nginx: worker process ├─6689 nginx: worker process ├─6690 nginx: worker process └─6691 nginx: worker process |
Los comandos para trabajar con Nginx son:
1 2 3 4 5 6 7 8 9 10 11 | sudo systemctl stop nginx sudo systemctl start nginx sudo systemctl restart nginx sudo systemctl reload nginx sudo systemctl disable nginx sudo systemctl enable nginx |
Bastantes descriptivos todos ellos.
Estructura de Nginx
- /etc/nginx/nginx.conf: El directorio de configuración de nginx. Todos los archivos de configuración de Nginx residen aquí.
- /etc/nginx/nginx.conf: El archivo de configuración principal de Nginx. Esto se puede modificar para realizar cambios en la configuración global de Nginx.
- /etc/nginx/sites-available: El directorio donde se pueden almacenar los "bloques de servidor" por sitio. Nginx no utilizará los archivos de configuración que se encuentren en este directorio a menos que estén vinculados al directorio sites-enabled (ver abajo). Normalmente, toda la configuración del bloque del servidor se realiza en este directorio y se habilita mediante la vinculación al otro directorio.
- /etc/nginx/sites-enabled/: Se almacena el directorio donde están habilitados los "bloques de servidor" por sitio. Por lo general, estos se crean mediante la vinculación a los archivos de configuración que se encuentran en el directorio sites-available.
- /etc/nginx/snippets: Este directorio contiene fragmentos de configuración que se pueden incluir en cualquier otro lugar de la configuración de Nginx. Los segmentos de configuración potencialmente repetibles son buenos candidatos para la refactorización en fragmentos.
Registros del Servidor
- /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 hacerlo de otra manera.
- /var/log/nginx/error.log: Cualquier error Nginx se registrará en este registro.
Conclusion
Como vemos, la instalación es bastante sencilla. En próximos posts, veremos más a fondo la configuración a aplicar para crear nuestro site.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.