Diferencia entre revisiones de «Instalación, configuración e uso de nginx»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 1: Línea 1:
 +
= 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 [https://contabo.com/en/storage-vps/ Contabo] e do dominio aclasedopeque.com en [https://www.namecheap.com/ 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 =
 +
Termius cliente SSH
 +
Introducir IP, usuario y password
 +
Aceptar que se confía
 +
 +
= 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 =
 +
apt install ufw
 +
ufw status
 +
ufw enable
 +
ufw allow 80
 +
ufw allow 443
 +
ufw allow http
 +
ufw allow https
 +
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 con el navegador a aclasedopeque.com o www.aclasedopeque.com y muestra el texto
 +
 +
= Troubleshooting =
 +
== ping e traceroute ==
 +
 +
== systemctl ==
 +
systemctl restart nginx
 +
systemctl status nginx
 +
 +
== nginx -t ==
 +
nginx -t
 +
 +
== revisar ficheiros de configuración ==
 +
cd /etc/nginx/conf.d  #Aquí se podrían añadir nuevos ficheros de configuración
 +
 +
== erros frecuentes ==
 +
https://stackoverflow.com/questions/30973774/nginx-duplicate-default-server-error/30974115#30974115
 +
 +
= 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]]
  
 
= 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
 +
* https://openwebinars.net/academia/aprende/nginx-servidor-web-linux-debian/

Revisión del 01:09 7 ago 2022

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

Termius cliente SSH Introducir IP, usuario y password Aceptar que se confía

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

apt install ufw ufw status ufw enable ufw allow 80 ufw allow 443 ufw allow http ufw allow https 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

Esto es una prueba!

Accedemos con el navegador a aclasedopeque.com o www.aclasedopeque.com y muestra el texto

Troubleshooting

ping e traceroute

systemctl

systemctl restart nginx systemctl status nginx

nginx -t

nginx -t

revisar ficheiros de configuración

cd /etc/nginx/conf.d #Aquí se podrían añadir nuevos ficheros de configuración

erros frecuentes

https://stackoverflow.com/questions/30973774/nginx-duplicate-default-server-error/30974115#30974115

Ampliación

Referencias