Probamos nuestra pagina Django

Django python framework – Instalaci贸n en Centos 8

0 0 vote
Article Rating

Publica, haz cambios, lo quiero ya, seguro te suena conocido y es algo que agiliza Django Python Framework.

Si, hoy te hablare de como instalar en Centos 8 este django web server para tus proyectos web.

Requerimientos Django python framework

Los requerimientos son m铆nimos y son los siguientes:

  • Centos Linux 8
  • IP Fija (en este articulo usare la 192.168.5.101)
  • Cuenta root o con permisos de sudo

Para este Django Python Tutorial usaremos una instalaci贸n m铆nima de Centos 8.

OJO, si tienes un servidor Centos 7 disponible, tambi茅n podr铆as actualizarlo a la versi贸n 8.

En caso dado que no trabajes desde la cuenta root, usa sudo antes de cada comando.

Seguidamente deshabilitaremos SELinux, si, algunos dir谩n que es inseguro, no si tenemos cuidado.

Te muestro en v铆deo como hacerlo:

Ahora comenzaremos a instalar paquetes, pero primero, verifiquemos actualizaciones de nuestro server Linux.

dnf update

Verifica que este totalmente actualizado tu servidor opensource.

Instalaci贸n de dependencias para Django Python Framework

Aunque podriamos trabajar con python 2, debes saber que ya esta llegando a su tiempo final.

Por lo cual usaremos django python 3 en este articulo paso a paso.

Instalamos dependencias necesarias junto a nginx, que sera nuestro servidor web.

dnf install python36 python3-pip nginx

Instalamos Django Python en Centos

Ya instalado python 3, instalamos el framework django en Centos 8.

pip3 install Django
Instalamos Django Python Framework en Centos Linux
Instalamos Django Python Framework en Centos Linux

Seguidamente verificamos la django python version instalada.

django-admin --version

En este articulo usaremos la versi贸n 3.0.4.

Creamos un proyecto Django en Centos 8

Nuestros proyectos con Django los crearemos en la ruta /opt, haz los cambios para tu server.

cd /opt/
django-admin startproject djangoprueba
cd djangoprueba/

Con los anteriores comandos creamos un proyecto de nombre djangoprueba en /opt.

Seguidamente migramos cambios ejecutando.

python3 manage.py migrate
Migramos configuracion de Django
Migramos configuracion de Django

Tiempo para crearnos la cuenta de administrador del proyecto django python.

python3 manage.py createsuperuser
Nos creamos una cuenta de administrador del proyecto django
Nos creamos una cuenta de administrador del proyecto django

Configuramos proyecto Django Python 3

Por default nuestro nuevo proyecto django no permitir谩 conexiones, por lo que modificaremos su configuracion.

Estas modificaciones las har茅 con el editor vi (del cual hablo en este v铆deo).

Pero si no estas familiarizado con el, puedes usar nano, del cual tambi茅n tengo v铆deo.

Solo agregaremos la ip de nuestro servidor Centos 8 dentro de apostrofes (comillas sencillas).

vi djangoprueba/settings.py
ALLOWED_HOSTS = ['192.168.5.101']

Probamos nuestro Django Web Server

Ya casi terminando, probaremos los cambios.

Para eso ejecutaremos de forma temporal, verificando primero que estemos en el ra铆z del proyecto.

pwd
/opt/djangoprueba
python3 manage.py runserver 0.0.0.0:8000 &
Iniciamos una instancia temporal de Django Web Server
Iniciamos una instancia temporal de Django Web Server

Agregamos reglas de firewall en Centos 8

Aunque ya estemos ejecutando el server Django, no podemos aun conectarnos por las reglas de firewall.

Agregaremos reglas para permitir trafico en los puertos:

  • 8000 tcp: Puerto de Django Python Framework
  • 80 tcp: Puerto http
firewall-cmd --permanent --add-port=8000/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

-Abrimos un navegador en otro pc y probamos las siguientes dos URL’s:

  • http://192.168.5.101:8000/ :Pagina del proyecto
  • http://192.168.5.101:8000/admin/ :Entrada de administraci贸n del proyecto
Probamos nuestra pagina Django
Probamos nuestra pagina Django

Al probar la pagina de administraci贸n del proyecto ingresa con la cuenta de admin que creamos anteriormente.

Tambi茅n probamos interfaz de administrador
Tambi茅n probamos interfaz de administrador

Y as铆 luce tu pagina de administraci贸n del proyecto web.

As铆 luce la pagina de administraci贸n
As铆 luce la pagina de administraci贸n

Configuramos gunicorn y nginx

Para el manejo de Django Web Server utilizaremos gunicorn.

Comenzamos instal谩ndolo.

pip3 install gunicorn

Seguidamente activamos e iniciamos el servicio de nginx ademas de verificar su ejecuci贸n.

systemctl enable nginx
systemctl start nginx
systemctl status nginx

Damos permisos a nginx de forma recursiva en el 谩rbol de directorios del proyecto.

chown -R nginx:nginx /opt/djangoprueba/

Creamos fichero systemd service para Django

Ahora crearemos un fichero para manejar el servicio via systemd de forma mas c贸moda.

vi /etc/systemd/system/django.service
[Unit]
Description=django daemon
After=network.target

[Service]
User=nginx
Group=nginx
WorkingDirectory=/opt/djangoprueba
ExecStart=/usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoprueba/djangoprueba.sock djangoprueba.wsgi:application

[Install]
WantedBy=multi-user.target

Ten cuidado de reemplazar las referencias al nombre del proyecto.

Ahora ya es tiempo de finalizar el django de pruebas que tenemos ejecut谩ndose.

Para eso buscaremos con ps y 芦matamos禄 sus procesos (escribe sus n煤meros de procesos para el comando kill).

ps -ax|grep python3
kill -9 28451 28453
Detenemos instancia temporal de Django
Detenemos instancia temporal de Django

Activamos el servicio para que se ejecute cada vez que haga boot el servidor, lo iniciamos y verificamos.

systemctl enable django
systemctl start django
systemctl status django

Creamos configuracion de nginx para proyecto django

Nginx nos facilitara el manejo de nuestro proyecto Django.

Nos creamos un conf para nginx.

vi /etc/nginx/conf.d/django.conf
server {
listen 80;
server_name 192.168.5.101;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /opt/djangoprueba;
}

location / {
proxy_set_header Host $http_host;
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;
proxy_pass http://unix:/opt/djangoprueba/djangoprueba.sock;
}
}

Tambi茅n en el anterior fichero debes reemplazar con tu nombre de proyecto.

Probamos la configuracion de nginx, debe decirnos que esta ok.

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Reiniciamos el servicio de nginx y lo verificamos.

systemctl restart nginx
systemctl status nginx

Ahora ya estamos listos para acceder a la pagina del proyecto en el URL http://192.168.5.101

Y claro, si me quieres ver en directo instal谩ndolo y configur谩ndolo en v铆deo, aqu铆 debajo te lo comparto, no olvides suscribirte a mi canal.

Satisfech@ con el articulo, hazme una donaci贸n, no importa la cantidad, la intenci贸n es lo que vale, dale click a este bot贸n

Comparte este articulo opensource en tus redes sociales (compartir es sexy) por medio de los botones de redes sociales para que otros lo conozcan y apoyes mi blog.

Ademas, no olvides escribirme en los comentarios aqu铆 debajo y pasa la voz compartiendo el tweet.

Suscribete
Notificaci贸n de
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x