Herramientas de usuario

Herramientas del sitio


tutoriales:configurarservidor

Configurar un servidor con Ollama

Para configurar un servidor con ollama hay que seguir los siguientes pasos:

Tarjeta gráfica

  • Instalar la tarjeta gráfica

	 
ubuntu-drivers devices	 
sudo apt install nvidia-driver-595-server-open	 
sudo reboot	 
nvidia-smi	 
sudo apt install nvtop	 
nvtop	 

NGINX

  • Instalar NGINX


sudo apt install nginx
sudo systemctl status nginx

  • Crear el fichero /etc/nginx/sites-available/servicios.conf

# --- SERVICIO 1 ---
server {
    listen 80;
    server_name ollama.iabd2.cip.fpmislata.com;

    location / {
        proxy_pass http://127.0.0.1:11434;
                # Forzamos las cabeceras para que Ollama crea que la petición es local
        proxy_set_header Host "localhost";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # IMPORTANTE: A veces Ollama necesita que el Origin sea explícito
        proxy_hide_header 'Access-Control-Allow-Origin';
        add_header 'Access-Control-Allow-Origin' '*';
    }
}

# --- OTRO SERVICIO ---
server {
    listen 80;
    server_name OTROSERVICIO.iabd2.cip.fpmislata.com;

    location / {
        proxy_pass http://127.0.0.1:OTROPUERTO;
        include proxy_params;
    }
}

# --- SERVICIO POR DEFECTO (Opcional) ---
# Esto responde si alguien entra por IP o un dominio no configurado
server {
    listen 80 default_server;
    server_name _;
    return 444; # Cierra la conexión sin responder nada
}

Si quieres añadir otro servicio además de ollama, copia las líneas server y modifica el nombre de dominio y el puerto interno.
  • Modificar nginx.conf y añade la linea client_max_body_size 100M; es para permitir subir ficheros grandes.

http {
    sendfile on;
    tcp_nopush on;
    types_hash_max_size 2048;
    # server_tokens off;
    client_max_body_size 100M;
    ...
}

  • Finalizar la configuración

sudo ln -s /etc/nginx/sites-available/servicios.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

  • Comprobar si la instalación es correcta

sudo nginx -t

  • Si es correcta, reiniciar NGINX

sudo systemctl reload nginx

Programas de seguridad

  • Evitar ataques de fuerza bruta.

sudo apt install fail2ban

  • Instalar automáticamente los parches de seguridad

sudo apt update && sudo apt install unattended-upgrades update-notifier-common -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

  • En /etc/apt/apt.conf.d/50unattended-upgrades descomentar las siguiente líneas y dejarlas como se indica:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

  • Comprobar si está bien configurado

sudo unattended-upgrades --dry-run --debug

Ollama

  • Instalar Ollama

curl -fsSL https://ollama.com/install.sh | sh

  • Comprobar que el servicio está activo y escuchando en el puerto 11434

sudo systemctl status ollama
curl http://127.0.0.1:11434

El instalador detecta la GPU NVIDIA automáticamente (por eso este paso va después de instalar los drivers). Para confirmar que Ollama usa la GPU, ejecuta nvtop mientras hay un modelo en marcha.
  • Descargar (pull) un modelo

ollama pull llama3.1

  • Comprobar los modelos descargados y probar uno

ollama list
ollama run llama3.1 "Hola, ¿funcionas?"

tutoriales/configurarservidor.txt · Última modificación: por Lorenzo