domingo, 24 de agosto de 2025

馃摌 Gu铆a r谩pida: Despliegue de Django en un VPS con Ubuntu


馃摌 Gu铆a r谩pida: Despliegue de Django en un VPS con Ubuntu

1. 馃敡 Preparaci贸n del servidor

  1. Con茅ctate por SSH a tu VPS (ejemplo con Contabo o DigitalOcean):

    ssh usuario@IP_DEL_SERVIDOR
  2. Actualiza paquetes:

    sudo apt update && sudo apt upgrade -y
  3. Instala dependencias:

    sudo apt install python3 python3-pip python3-venv git curl -y

2. 馃悕 Crear entorno de Django

  1. Clona tu proyecto desde GitLab/GitHub:

    git clone https://gitlab.com/usuario/proyecto.git cd proyecto
  2. Crea un entorno virtual:

    python3 -m venv venv source venv/bin/activate
  3. Instala dependencias:

    pip install -r requirements.txt

3. 馃梽️ Configurar base de datos PostgreSQL

  1. Instala PostgreSQL y librer铆as:

    sudo apt install postgresql postgresql-contrib libpq-dev -y
  2. Crea base de datos y usuario:

    sudo -u postgres psql CREATE DATABASE miapp; CREATE USER miusuario WITH PASSWORD 'mipassword'; ALTER ROLE miusuario SET client_encoding TO 'utf8'; ALTER ROLE miusuario SET default_transaction_isolation TO 'read committed'; ALTER ROLE miusuario SET timezone TO 'UTC'; GRANT ALL PRIVILEGES ON DATABASE miapp TO miusuario; \q
  3. Configura settings.py en tu proyecto:

    DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'miapp', 'USER': 'miusuario', 'PASSWORD': 'mipassword', 'HOST': 'localhost', 'PORT': '5432', } }

4. 馃洜 Migraciones y archivos est谩ticos

python manage.py migrate python manage.py collectstatic --noinput

5. 馃殌 Configuraci贸n de Gunicorn

Instala Gunicorn:

pip install gunicorn

Prueba que funcione:

gunicorn --bind 0.0.0.0:8000 proyecto.wsgi:application

6. ⚙️ Configuraci贸n de Systemd

Crea un servicio para tu app en /etc/systemd/system/miapp.service:

[Unit] Description=Gunicorn instance to serve Django app After=network.target [Service] User=usuario Group=www-data WorkingDirectory=/home/usuario/proyecto ExecStart=/home/usuario/proyecto/venv/bin/gunicorn --workers 3 --bind unix:/home/usuario/proyecto/miapp.sock proyecto.wsgi:application [Install] WantedBy=multi-user.target

Activa el servicio:

sudo systemctl start miapp sudo systemctl enable miapp

7. 馃寪 Configuraci贸n de Nginx

Instala Nginx:

sudo apt install nginx -y

Configura un bloque de servidor en /etc/nginx/sites-available/miapp:

server { listen 80; server_name midominio.com www.midominio.com; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/usuario/proyecto; } location / { include proxy_params; proxy_pass http://unix:/home/usuario/proyecto/miapp.sock; } }

Habilita la configuraci贸n:

sudo ln -s /etc/nginx/sites-available/miapp /etc/nginx/sites-enabled sudo nginx -t sudo systemctl restart nginx

8. 馃敀 Certificado SSL con Let’s Encrypt

sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d midominio.com -d www.midominio.com

✅ Conclusi贸n

Ya tienes tu aplicaci贸n Django desplegada en un VPS con Ubuntu, lista para producci贸n con PostgreSQL, Gunicorn, Nginx y SSL.

馃搶 Si quieres ver m谩s detalles paso a paso, junto con ejemplos avanzados (Docker, automatizaci贸n, multitenant, seguridad y m谩s), revisa el curso completo aqu铆:

馃憠 Curso en Udemy: Despliegue de aplicaciones Django en varias plataformas VPS



O mira si est谩 en descuento actualmente en este enlace:



0 comentarios:

Publicar un comentario

¿Tienes alg煤n comentario? ¿Qu茅 te ha parecido este art铆culo? Cu茅ntalo.

 
>