From 6353bba4d7268420610fba3887a3004bfb7ed561 Mon Sep 17 00:00:00 2001 From: Guillem Hernandez Sola Date: Wed, 18 Jun 2025 11:02:51 +0200 Subject: [PATCH] Nueva estructura nginx --- .../practica-3-roles/nginx/files/nginx.conf | 56 +++++++++++++++++++ .../practica-3-roles/nginx/handlers/main.yml | 6 ++ .../practica-3-roles/nginx/tasks/main.yml | 27 +++++++++ 3 files changed, 89 insertions(+) create mode 100644 training/practica-3-roles/nginx/files/nginx.conf diff --git a/training/practica-3-roles/nginx/files/nginx.conf b/training/practica-3-roles/nginx/files/nginx.conf new file mode 100644 index 0000000..a41ce98 --- /dev/null +++ b/training/practica-3-roles/nginx/files/nginx.conf @@ -0,0 +1,56 @@ +# Archivo de configuración nginx.conf + +user www-data; +worker_processes auto; +pid /run/nginx.pid; +include /etc/nginx/modules-enabled/*.conf; + +events { + worker_connections 768; + # multi_accept on; +} + +http { + + ## + # Configuración básica + ## + + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + ## + # Configuración de logs + ## + + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log; + + ## + # Gzip settings + ## + + gzip on; + gzip_disable "msie6"; + + # Configuración de virtual host + server { + listen 80 default_server; + listen [::]:80 default_server; + + root /var/www/html; + index index.html index.htm index.nginx-debian.html; + + server_name _; + + location / { + try_files $uri $uri/ =404; + } + } +} \ No newline at end of file diff --git a/training/practica-3-roles/nginx/handlers/main.yml b/training/practica-3-roles/nginx/handlers/main.yml index 1e6f19b..eeede3c 100644 --- a/training/practica-3-roles/nginx/handlers/main.yml +++ b/training/practica-3-roles/nginx/handlers/main.yml @@ -1,3 +1,9 @@ #SPDX-License-Identifier: MIT-0 --- # handlers file for nginx +- name: Reiniciar Nginx + ansible.builtin.service: + name: nginx #Nombre del servicio a reiniciar + state: restarted #Reinicia el servicio + when: ansible_facts.services['nginx.service'].state == 'running' #Solo si el servicio está corriendo + #when: ansible_facts.services['nginx'].state == 'running' #Condición para versiones antiguas \ No newline at end of file diff --git a/training/practica-3-roles/nginx/tasks/main.yml b/training/practica-3-roles/nginx/tasks/main.yml index 1ee6e2d..dd3ec5e 100644 --- a/training/practica-3-roles/nginx/tasks/main.yml +++ b/training/practica-3-roles/nginx/tasks/main.yml @@ -11,3 +11,30 @@ when: ansible_facts.services['nginx.service'].state == 'running' #Condición para versiones antinguas para detener Nginx solo si está corriendo #when: ansible_facts.services['nginx'].state == 'running' + +#Instalar un servidor web (Nginx). +- name: Instalación de Nginx + ansible.builtin.package: + name: "{{ item }}" #Nombre del paquete a instalar + state: present #Asegura que el paquete esté instalado + with_items: #Itera sobre una lista de paquetes + - nginx #Servidor web Nginx + - nginx-extras #Paquete adicional de Nginx con características extra + +#Asegurar de que el servicio de Nginx està corriendo y habilitado. +- name: Asegurar que Nginx está corriendo + ansible.builtin.service: + name: nginx #Nombre del servicio a gestionar + state: started #Asegura que el servicio esté en ejecución + enabled: yes #Habilita el servicio para que se inicie al arrancar el sistema + +#Copia el archivo de configuración hosts de Nginx al directorio correspondiente +- name: Copiar archivo de configuración de hosts de Nginx + ansible.builtin.copy: + src: ../files/nginx.conf #Ruta al archivo de configuración local + dest: /etc/nginx/sites-available/default #Ruta de destino en el servidor + owner: www-data #Propietario del archivo + group: www-data #Grupo del archivo + mode: '0644' #Permisos del archivo + notify: + - Reiniciar Nginx #Notifica a la tarea de reinicio de Nginx si este archivo cambia