Implementación de aplicaciones de Django

Introducción

Una vez que hayamos terminado de desarrollar la aplicación web, debe estar alojada para que el público pueda acceder a ella desde cualquier lugar. Veremos cómo implementar y alojar una aplicación en una instancia AWS EC2 utilizando Nginx como servidor web y Gunicorn como WSGI.





AWS EC2

Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporciona potencia informática escalable en la nube. Instalamos y hospedamos nuestras aplicaciones web en una instancia EC2 después de seleccionar una AMI (SO) a nuestra discreción. Hablaremos más sobre esto en las siguientes secciones.





NGINX

Nginx - - . Nginx - .





GUNICORN

Gunicorn - Web Server Gateway Interface (WSGI), - Python.





WSGI - - Python .





, django .





EC2 AWS, aws.





  • EC2





  • New instance Ubuntu .





  • , , , .





  • 8000 9000, . , , .





, 'connect' ( putty ).





sudo apt-get update
      
      



python , pip django





sudo apt install python
sudo apt install python3-pip
pip3 install django
      
      



, , , django.





cd  /home/ubuntu/  
mkdir Project
cd Project
mkdir ProjectName
cd ProjectName
      
      



.

/home/ubuntu/Project/ProjectName





GitHub

, , ec2.





  • /home/ubuntu/Project/ProjectName/ )





  • git clone <repository-url>







, git pull



.





Settings.py .

settings.py .









  • Debug = False







  • ALLOWED_HOSTS







BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, “static”)
      
      



, ( STATIC_ROOT).





manage.py makemigrations
manage.py migrate
manage.py collectstatic
      
      



Nginx

Nginx





 sudo apt install nginx
      
      



/etc/nginx/sites-enabled/



, NGINX, .





sudo vi default
      
      



, .





Agregaremos proxy_pass http://0.0.0.0:9000 y proporcionaremos la ruta a nuestra carpeta estática agregando la ruta dentro del directorio / static / como se indicó anteriormente. Asegúrese de recopilar todos los archivos estáticos en una carpeta compartida ejecutando el comando





manage.py collectstatic
      
      



Ahora inicie el servidor nginx





sudo service nginx start             #to start nginx
sudo service nginx stop              #to stop nginx
sudo service nginx restart           #to restart nginx
      
      



Instalación de Gunicorn

pip install gunicorn
      
      



Asegúrese de estar en la carpeta de su proyecto como: /home/ubuntu/Project



y ejecute el siguiente comando para iniciar gunicorn





gunicorn ProjectName.wsgi:application- -bind 0.0.0.0:9000
      
      



Ahora que hemos instalado y configurado nginx y gunicorn, se puede acceder a nuestra aplicación a través del DNS de la instancia ec2.








All Articles