Configure su propia red privada con OpenVPN
Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.
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.
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
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 ( dbname
se 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
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
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.py
archivo en cualquier navegador de texto.
Lo primero es lo primero, el modo de depuración debe estar desactivado. Busque la DEBUG = True
línea y cambie True
a False
. Después de esto, asegúrese de haber ALLOWED_HOSTS
establecido algún valor.
ALLOWED_HOSTS = ['*']
Busque el DATABASES
diccionario, 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
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.service
y 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
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/django
y agregue lo siguiente. La domain.example.com
parte 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
Felicitaciones, ahora tiene un sitio Django en funcionamiento en su VPS de Debian.
Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.
¿Usando un sistema diferente? Couch CMS es un sistema de gestión de contenido (CMS) simple y flexible, gratuito y de código abierto que permite a los diseñadores web diseñar
Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud
Este artículo le enseñará cómo configurar una cárcel chroot en Debian. Supongo que está utilizando Debian 7.x. Si está ejecutando Debian 6 u 8, esto puede funcionar, pero
Introduction An easy way to set up a VPN server on Debian is with PiVPN. PiVPN is an installer and wrapper for OpenVPN. It creates simple commands for you t
Using a Different System? Introduction Kanboard is a free and open source project management software program which is designed to facilitate and visualiz
Using a Different System? Neos is a Content Application Platform with a CMS and an application framework at its core. This guide will show you how to instal
Introducción Cacti es una herramienta de monitoreo y gráficos de código abierto que se basa completamente en datos RRD. A través de Cacti, puedes monitorear casi cualquier tipo de dispositivo
Java es un lenguaje de programación / máquina virtual independiente de la plataforma. En este tutorial, instalaremos la implementación de OpenJDK de Java 8 en un Debian
Git es un sistema de control de versiones (VCS) que permite el seguimiento de cambios en el código. En este tutorial, veremos cómo instalar un servidor HTTP (S) Git, un
Introducción MySQL tiene una gran característica conocida como vistas. Las vistas son consultas almacenadas. Piense en ellos como un alias para una consulta larga. En esta guía,
Using a Different System? Matomo (formerly Piwik) is an open source analytics platform, an open alternative to Google Analytics. Matomo source is hosted o
Hiawatha es un servidor web que tiene en cuenta la simplicidad, la facilidad de uso y la seguridad. Es la solución perfecta para servidores más pequeños, hardware antiguo o incrustación
Munin es una herramienta de monitoreo para examinar procesos y recursos en su máquina y presenta la información en gráficos a través de una interfaz web. Usa el siguiente
¿Usando un sistema diferente? En esta guía, veremos cómo configurar un servidor FTP (ProFTPd) para transferir archivos entre su PC y su servidor.
Using a Different System? NodeBB is a Node.js based forum. It utilizes web sockets for instant interactions and real-time notifications. NodeBB source code i
¿Usando un sistema diferente? TaskWarrior es una herramienta de gestión de tiempo de código abierto que es una mejora en la aplicación Todo.txt y sus clones. Debido a th
Introduction Debian 10 (Buster), is the successor to Debian 9 (Stretch). It was released on July 6, 2019. In this tutorial, we will be upgrading an existin
Introducción En este tutorial, cubriremos el proceso de agregar un rango / subred de IP completo a un servidor Linux que ejecuta CentOS, Debian o Ubuntu. El proceso
¿Usando un sistema diferente? Plesk es un panel de control de alojamiento web patentado que permite a los usuarios administrar sus sitios web y bases de datos personales y / o de clientes
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, 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.
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+
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.
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
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.
A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.
Una mirada a 26 técnicas analíticas de Big Data: Parte 1
La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.