====== 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?"