Configurar Django en Debian 8

Este tutorial explica cómo configurar Django en Debian 8 (jessie). Mostraré cómo usar Python 2 y 3, así como Nginx y PostgreSQL.

Todo lo que se hace en este tutorial se hace como root.

Instalar paquetes

Para comenzar, necesitamos instalar algunos paquetes.

Para Python 2:

apt-get install python-pip python-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

Para Python 3:

apt-get install python3-pip python3-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

Configurar bases de datos

Primero, iniciamos sesión en el usuario postgres.

sudo -u postgres -s

A continuación, creamos una nueva base de datos. El nombre de la base de datos puede ser lo que desee ( dbnamese usa aquí), pero debe ser coherente con el resto de la configuración.

createdb dbname

Cree un usuario para la nueva base de datos. De nuevo, esto puede ser lo que desees, pero yo solía hacerlo dbuser. Esto también le pedirá que establezca una contraseña.

createuser -P dbuser

El usuario ahora debe tener acceso a la base de datos. Solo asegúrese de utilizar el nombre de la base de datos y el nombre de usuario correctos.

psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;
postgres=# \q

Salir a la raíz.

exit

Habilite e inicie PostgreSQL:

systemctl enable postgresql
systemctl start postgresql

Configurar el entorno virtual

En lugar de usar solo los archivos globales de Python, usaremos un entorno virtual. Comenzamos creando un directorio para guardarlo todo.

mkdir -p /opt/project

Ahora creamos el entorno. Esto es diferente para los usuarios de python 2 y 3.

Para Python 2:

virtualenv . -p python

Para Python 3:

virtualenv . -p python3

Ingrese al entorno virtual.

source bin/activate

Instala Django, gunicorn y psycopg2.

pip install django
pip install gunicorn
pip install psycopg2

Si necesita una versión específica de Django, cambie el comando de instalación para que coincida con el formato a continuación. Este ejemplo instala 1.7.8.

pip install django==1.7.8

Ya hemos terminado con eso por ahora, por lo que podemos desactivar nuestro entorno virtual.

deactivate

Proyecto de carga y configuración

Este es el momento en que cargamos nuestro proyecto en el servidor y nos aseguramos de que todas sus configuraciones sean correctas. Puede usar cualquier método para hacer esto. FTP, SFTP, git, etc. son todas formas de hacerlo. Si está utilizando git para rastrear el código del proyecto, simplemente puede clonarlo en el servidor. Este comando git clonará el proyecto en el servidor y lo colocará /opt/project/project/.

git clone http://example.com:project.git

Abra el settings.pyarchivo en cualquier navegador de texto.

Lo primero es lo primero, el modo de depuración debe estar desactivado. Busque la DEBUG = Truelínea y cambie Truea False. Después de esto, asegúrese de haber ALLOWED_HOSTSestablecido algún valor.

ALLOWED_HOSTS = ['*']

Busque el DATABASESdiccionario, y debería verse así:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'dbuser',
        'PASSWORD': 'password you set',
        'HOST': 'localhost',
        'PORT': ''
    }
}

El último paso aquí es establecer una raíz estática. Coloque lo siguiente directamente debajo STATIC_URL.

STATIC_ROOT = '/opt/project/static/'

Salga del archivo y cree el directorio raíz estático.

mkdir -p /opt/project/static

Ahora migre la base de datos, cree un superusuario y recopile todos los archivos estáticos.

cd /opt/project/project
../bin/python manage.py makemigrations
../bin/python manage.py migrate
../bin/python manage.py createsuperuser
../bin/python manage.py collectstatic

Configurar Gunicorn

Gunicorn es el servidor WSGI que usaremos. Dado que Debian 8 viene con systemd, aprovecharemos systemd para iniciar y detener el servidor.

Cree el archivo /etc/systemd/system/django.servicey agregue el siguiente contenido.

[Unit]
Description=Django with Gunicorn
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/opt/project
ExecStart=/opt/project/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi

[Install]
WantedBy=multi-user.target

Habilite e inicie el servicio que hemos creado.

systemctl enable django.service
systemctl start django.service

Nginx

Es posible que haya notado que vinculamos el servidor gunicorn 127.0.0.1. Ahora necesitamos una forma de acceder desde fuera del servidor. Aquí es donde entra Nginx.

Cree el nuevo archivo /etc/nginx/sites-available/djangoy agregue lo siguiente. La domain.example.comparte se puede configurar para lo que sea que necesite.

server {
        listen 80;
        server_name domain.example.com;
        access_log off;

        location /static/ {
                alias /opt/project/static/;
        }

        location / {
                proxy_pass http://127.0.0.1:8000;
        }
}

Cree un enlace simbólico para habilitar este sitio.

ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/django

Habilita e inicia Nginx.

systemctl enable nginx
systemctl start nginx

Conclusión

Felicitaciones, ahora tiene un sitio Django en funcionamiento en su VPS de Debian.

Dejar un comentario

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.