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