Tabla de Contenidos

Configurar un servidor con Ollama

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

Tarjeta gráfica

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

NGINX


sudo apt install nginx
sudo systemctl status nginx

# --- 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.

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

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

sudo nginx -t

sudo systemctl reload nginx

Programas de seguridad

sudo apt install fail2ban

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

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

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

Ollama

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

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.

ollama pull llama3.1

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