Menerapkan Aplikasi Django

pengantar

Setelah kita selesai mengembangkan aplikasi web, harus dihosting agar publik bisa mengaksesnya dari mana saja. Kami akan melihat cara menerapkan dan menghosting aplikasi pada instans AWS EC2 menggunakan Nginx sebagai server web dan Gunicorn sebagai WSGI.





AWS EC2

Amazon Elastic Compute Cloud (Amazon EC2) adalah layanan web yang menyediakan daya komputasi yang dapat diskalakan di cloud. Kami menginstal dan menghosting aplikasi web kami pada instans EC2 setelah memilih AMI (OS) sesuai kebijaksanaan kami. Kami akan membicarakan lebih lanjut tentang ini di bagian berikut.





NGINX

Nginx adalah server web open source. Kami akan menggunakan Nginx untuk server halaman web kami sesuai kebutuhan.





GUNICORN

Gunicorn adalah implementasi sisi server dari Web Server Gateway Interface (WSGI), yang biasanya digunakan untuk menjalankan aplikasi web Python.





WSGI - Digunakan untuk meneruskan permintaan dari server web ke backend Python.





Kami tidak akan menggunakan server default yang disertakan dengan django dalam produksi.





Terapkan aplikasi

Kami akan meluncurkan instans EC2 di AWS dengan masuk ke konsol 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
      
      



, .





proxy_pass http://0.0.0.0:9000 , /static/, . , ,





manage.py collectstatic
      
      



nginx





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



Gunicorn

pip install gunicorn
      
      



, , : /home/ubuntu/Project



, , gunicorn





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



, nginx gunicorn, DNS ec2.








All Articles