Diferencia entre revisiones de «Instalación, configuración e uso de nginx»
| Línea 159: | Línea 159: | ||
= Referencias = | = Referencias = | ||
* https://fp.josedomingo.org/serviciosgs/u03/nginx.html | * https://fp.josedomingo.org/serviciosgs/u03/nginx.html | ||
| − | * https://manuais.iessanclemente.net/index.php/Alta_dispo%C3%B1ibilidade_en_servidores_Web#Nginx | + | * [https://manuais.iessanclemente.net/index.php/Alta_dispo%C3%B1ibilidade_en_servidores_Web#Nginx Alta disponibilidade en servidores web] |
* [https://openwebinars.net/academia/aprende/nginx-servidor-web-linux-debian/ Crea tu servidor web con Nginx sobre Linux] | * [https://openwebinars.net/academia/aprende/nginx-servidor-web-linux-debian/ Crea tu servidor web con Nginx sobre Linux] | ||
* [https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/ Server Block Examples] | * [https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/ Server Block Examples] | ||
* [https://nginx.org/en/docs/http/configuring_https_servers.html Configuring HTTPS servers] | * [https://nginx.org/en/docs/http/configuring_https_servers.html Configuring HTTPS servers] | ||
Revisión del 02:32 7 ago 2022
Sumario
Prerequisitos
A práctica pode levarse a cabo a través de máquinas virtuais en entorno local.
No aquí detallado, fíxose a través da contratación dun VPS (Virtual Private Server) en Contabo e do dominio aclasedopeque.com en namecheap.com. O sistema operativo utilizado foi Debian 11.
Hosting
Dominio e configuración DNS
https://youtu.be/YbJr7YPmDsQ https://www.namecheap.com/support/knowledgebase/article.aspx/10275/2255/video-how-to-set-up-an-a-record-in-cpanel/ https://www.namecheap.com/support/knowledgebase/article.aspx/10275/2255/video-how-to-set-up-an-a-record-in-cpanel/ https://www.namecheap.com/support/knowledgebase/article.aspx/10237/2255/video-how-to-connect-a-domain-name-to-your-shared-hosting/ https://www.namecheap.com/support/knowledgebase/article.aspx/579/2237/which-record-type-option-should-i-choose-for-the-information-im-about-to-enter/
Conexión á máquina por SSH
Pódese levar a cabo con calquer cliente SSH, coma Putty:
Ou cun cliente multiplataforma coma pode ser Termius:
En ambos casos será preciso:
- Introducir IP da máquina
- Introducir usuario e contrasinal
- Aceptar que se confía na conexión
Instalación
Para levar a cabo a instalación actualizamos o repositorio e instalamos o paquete nginx:
apt update apt install nginx -y
Comprobamos que queda levantado:
systemctl status nginx
Comprender o funcionamento
Podemos instalar o comando tree que amosa os ficheiros xerárquicamente estruturados por cartafois:
apt install tree
Accedemos a carpeta onde queda instalado nginx:
cd /etc/nginx
Podemos executar tree para ver a estrutura de carpetas e ficheiros do programa:
tree .
conf.d configuraciones propias de nuestro servidor
modules-enabled modulos que queramos activar
proxy_params parámetros del proxy
nginx.com No tocar. Configuración global.
cd sites-available/
cat default
cd ../sites_enabled contiene enlaces simbolicos (un acceso directo que apunta al fichero real)
nano default
encriptacion punto a punto con nginx
nano ngingx.conf
Configuración do firewall
Para instalar ufw:
apt install ufw
Para comprobar o seu estado:
ufw status
Para levantalo:
ufw enable
Para fixar reglas que permitan tráfico http e https:
ufw allow 80 ufw allow 443 ufw allow http ufw allow https
Para comprobar estado e reccargar coas regras:
ufw status ufw reload
Comprobación de logs
nano nginx.conf
Podemos observar onde se ubican as rutas de access_log e error_log, e consultar os mesmos:
cd /var/log/nginx/ pico access.log pico error.log
Configuración dun server block
Un server block en nginx e o equivalente os denominados virtual host en Apache.
Vemos la web por defecto:
cd /var/www/html pico index.nginx-debian.html
Cualquier cambio que hagamos y guardemos en este fichero se verá reflejado cuando accedamos a través del navegador.
Accedemos a sites-available:
cd /etc/nginx/sites-avaible
Podemos ver a configuración da web por defecto:
pico default
MOI IMPORTANTE. Unha vez feitos cambios e preciso recargalos co comando:
systemctl restart nginx
Engadir un server block
cd /etc/nginx/sites-avaible
pico aclasedopeque.com
server {
server_name aclasedopeque.com www.aclasedopeque.com;
root /var/www/aclasedopeque.com/htdocs;
}
cd /etc/nginx/sites-avaible ln -s /etc/nginx/sites-available/aclasedopeque.com /etc/nginx/sites-enabled/aclasedopeque.com systemctl restart nginx
Si accedemos a través del navegador, por ahora error 404 porque no existe la ruta /var/www/aclasedeopeque.com/htdocs.
cd /var/www/ mkdir aclasedopeque.com cd aclasedopeque.com mkdir htdocs cd htdocs pico index.html <h1>Esto es una prueba! </h1>
Accedemos co navegador a aclasedopeque.com ou www.aclasedopeque.com e amosa o texto:
Troubleshooting
Ferramentas de rede
ping, traceroute,nslookup, host, dig
systemctl
Podes comprobar o estado do servizo con:
systemctl status nginx
E sempre e preciso reinicialo tras facer cambios con:
systemctl restart nginx
nginx -t
Para axuda na procura de erros de sintaxe nos ficheiros de configuración existe este comando:
nginx -t
revisar ficheiros de configuración
Acceder a ruta:
cd /etc/nginx/conf.d
Aquí poderíanse engadir novos ficheiros de configuración.
erros frecuentes
- duplicate default server error. Ver este fío
Ampliación
- Configurando un proyecto Java con Spring Boot en nginx
- Configurando un proyecto PHP con Wordpress en nginx
- Configurando un proyecto Javascript con Angular en nginx