Hostwinds Tutoriales

Resultados de búsqueda para:


Tabla de contenido


Necesitará lo siguiente para comenzar:
Estaremos usando:
Creando una usuaria
Instalar y configurar Django
Configuración de uWSGI
Configuración del servicio Systemd
Configuración NGINX
Conclusión

Cómo ejecutar marcos web de Python (Ubuntu 18.04)

Etiquetas: Ubuntu 

Necesitará lo siguiente para comenzar:
Estaremos usando:
Creando una usuaria
Instalar y configurar Django
Configuración de uWSGI
Configuración del servicio Systemd
Configuración NGINX
Conclusión

Python es un idioma popular para algunos desarrolladores web. Cuenta con marcos como el matraz y el Django que pueden acelerar el desarrollo web de Backend. Esta guía pasará por alto cómo obtener el marco de Django y se ejecutará en un servidor VPS de Hostwinds que se sirve a través de Internet.

Necesitará lo siguiente para comenzar:

  • Servidor VPS en la nube de Hostwinds Linux
  • Acceso SSH
  • Ubuntu 18.04
  • Un nombre de dominio que se apunta a su servidor

Estaremos usando:

  • Servidor web NGINX
  • Marco de Django Python
  • uWSGI actúa como interfaz entre los dos.

Creando una usuaria

La mayoría de los servicios en su sistema no necesitan ejecutarse como root, y por razones de seguridad, configuraremos un usuario no root para ejecutar el resto de los comandos en esta guía.Puede llamar a este usuario cualquier cosa.Aquí, estoy creando un usuario llamado "Usuario":

adduser user

Luego, debe solicitarle una contraseña para este nuevo usuario, cree una contraseña que pueda recordar y hacer que sea difícil para otros adivinar.También solicitará alguna información adicional, pero no debería afectar nada si dejas todos esos campos en blanco.Ahora, queremos que este usuario ejecute algunos comandos de raíz, por lo que para mi "usuario", los agregaré a un grupo llamado "sudo".

usermod -aG sudo user

Esto permitirá a los usuarios prefijar sus comandos con "sudo" para ejecutar comandos normalmente protegidos por root utilizando la contraseña del usuario.

Ahora, use el comando 'Salir' y vuelva a iniciar sesión en el servidor usando SSH como el usuario que configuraste.Para el usuario que acabamos de configurar, el nombre de usuario será "Usuario", y la contraseña será la que ha configurado cuando ejecute el comando Adduser.

Instalar y configurar Django

Para usar Django, deberá configurar un entorno de Python.Comience por usar estos comandos para actualizar su software a la última versión:

sudo apt update && sudo apt upgrade

Ahora, necesitaremos un software de todo el sistema. Afortunadamente, todo lo que necesitamos está disponible en los repositorios de Ubuntu y se puede instalar con Apt-Get.

sudo apt-get install python3-pip nginx

Con el software de todo el sistema instalado, podemos construir nuestro entorno privado de Django. Correr:

mkdir public_html
cd public_html
python3 -m venv django_serve

Esto creará una carpeta llamada Django_serve con algunas cosas en ella. Tiene su propia versión de Python, y cuando activamos el archivo de origen, el software instalado con PIP irá en ese directorio en lugar de de todo el sistema. El siguiente paso es activar el archivo Python privado e instalar Django.

source django-serve/bin/activate

Ahora, podemos instalar Django e iniciar un proyecto de Django usando los comandos:

pip install django
django-admin startproject my_site

Para permitir que nuestro servidor web acceda a Django, debemos agregar el dominio a los hosts permitidos. Puede escribir o editar un archivo en la línea de comandos utilizando un editor de texto de línea de comandos. Muchos están disponibles en Linux, y estaremos utilizando Nano en esta guía.

Usando Nano, edite la configuración de archivos.py en el directorio MySite, por lo que:

nano mysite/settings.py

Una vez en el archivo, encuentre la línea que lee: permitida_hosts = [].

En los paréntesis, agregue el nombre de dominio de su sitio con las comillas, por lo que:

ALLOWED_HOSTS = ['yourdomain.com', 'www.yourdomain.com']

Presionando Control-X sale a Nano cuando le pida que guarde, presione 'Y'.

Puede usar el comando desactivar para volver a la carcasa regular.

Con un nuevo sitio creado, podemos centrar nuestra atención en configurar uWSGI.

Configuración de uWSGI

UWSGI es un software de protocolo que se comunica entre el código Python y el software WebServer. Para simplificar, vamos a tener nuestro host solo usar una instancia de UWSGI. Configuraremos un archivo de configuración para nuestro proyecto y vamos a crear un servicio SYSTEMD para ejecutarlo en segundo plano.

Para comenzar, necesitamos escribir un archivo para configurar uWSGI.

Una vez más, usaremos nano para escribir un archivo:

nano mysite.ini

Aquí hay un archivo INI barebones para comenzar:

#/home/user/public_html/mysite.ini
[uwsgi]
socket = 127.0.0.1:10080
chdir = /home/$USER/public_html/my_site
module = my_site.wsgi:application
processes = 4
threads = 2

Reemplace $ Usuario más arriba con el nombre de usuario que está usando y My_Site con su nombre de dominio.

Configuración del servicio Systemd

Una vez que se configura el UWSGI, debemos obtener Linux para que lo ejecute automáticamente en el fondo.La mayoría de las distribuciones de Linux Modernas lograron esto con el software Systemd.Deberá crear lo que se llama "archivo de servicio" para que Systemd pueda administrar UWSGI.

Llamaremos a nuestro archivo my_site.service.Para abrirlo y configurar el servicio, ejecute:

sudo nano /etc/system/systemd/my_site.service
#/etc/system/systemd/my_site.service
#Tells Systemd about your site
[Unit]
Description=Guide test site.
After=network.target

#Where systemd should start it from.
[Service]
User=$USER
Group=www-data
WorkingDirectory=/home/user/public_html/my_site
Environment="PATH=/home/user/django_serve/bin"
ExecStart=/home/user/public_html/django_serve/bin/uwsgi my_site.ini

#For starting the service at boot.
[Install]
WantedBy=multi-user.target

Reemplace $ USUARIO ARRIBA con el nombre de usuario con el que está trabajando y My_Site con su nombre de dominio.

Configuración NGINX

Finalmente, debemos configurar NGINX para escuchar UWSGI y pasar las solicitudes de la web. Esta configuración es bastante simple de configurar. Comience con editar un nuevo archivo y volver a reemplazar My_Site a continuación con su nombre de dominio:

sudo nano /etc/nginx/sites-available/my_site.conf
# /etc/nginx/sites-available

# tell it where to look for django
upstream django_serve {
    server 127.0.0.1:10800;
}

server {
    listen 80; #can be 443 if you have SSL set up.
    root /home/user/public_html/my_site/;
    server_name www.my_site.com;

    location / {
        uwsgi_pass django_serve;
        include uswgi_params;
    }
}

Para que NGINX lea y use este archivo, debemos agregarlo al directorio habilitado para sitios. Este comando crea un enlace suave a él.

sudo  ln -s /etc/nginx/sites-available/my_site.conf /etc/nginx/site-enabled

Ahora, recargue NGINX:

sudo systemctl restart nginx

Ahora, intente visitar el sitio en su VPS. Si todo salió bien, deberías ver esto:

Página web predeterminada de Django.

Conclusión

Si bien hay muchas formas de configurar UWSGI y NGINX, esta es muy simple y sencilla. Con suerte, esta guía es suficiente para comenzar, y como siempre, puede comunicarse con nosotros si tiene alguna pregunta o inquietud adicional.

Escrito por Hostwinds Team  /  julio 26, 2019