Django項目(Web應用)
Web服務
1、nginx :高并發處理的好
2、Apache :穩定
LAMP :Linux Apache MySQL Python/Php/Perl
LNMP :Linux Nginx MySQL Python/Php/Perl
3、uwsgi
是Web伺服器與Web架構之間一種簡單而通用的接口
單項目部署(nginx+uwsgi+Django)
確定django項目能夠運作
安裝nginx(用apt-get去安裝)
1、安裝
sudo apt-get install nginx
2、啟動
sudo /etc/init.d/nginx restart
3、驗證
打開浏覽器-->127.0.0.1:80-->Welcome to Nginx!
安裝uwsgi(用pip3去安裝)
sudo pip3 install uwsgi
2、驗證
uwsgi --http :9998 --chdir /home/tarena/myproject/friutday_1/ --module friutday.wsgi
部署
配置uwsgi(配置檔案)
1、
mkdir uwsgi
2、
cd uwsgi
3、
vi fruitday_uwsgi.ini
[uwsgi]
# 和nginx通信的端口
socket=127.0.0.1:8001
# 項目路徑
chdir=/home/tarena/myproject/friutday_1
# wsgi.py路徑
wsgi-file=friutday/wsgi.py
# 程序數
processes=4
# 線程數
thread=2
# 本項目占用uwsgi端口
stats=127.0.0.1:8081
配置nginx(配置檔案)
sudo -i
cd /etc/nginx/sites-enabled
vi project_nginx.conf
# 配置檔案内容
server{
# 監聽本項目端口,浏覽器輸入的端口
listen 8201;
server_name frituday.com;
charset utf-8;
client_max_body_size 75M;
# 收集項目靜态檔案路徑
location /static{
alias /home/tarena/myproject/friutday_1/static;
}
# 和uwsgi通信端口和項目通信檔案uwsgi_params
location /{
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
}
}
4、重新開機nginx服務
sudo /etc/init.d/nginx restart
5、拷貝uwsgi_params檔案到項目目錄
cp uwsgi_params /home/tarena/myproject/friutday_1/
收集靜态檔案
1、在settings.py檔案中添加路徑(STATIC_ROOT)
STATIC_ROOT = '/home/tarena/myproject/friutday_1/static/'
2、收集靜态檔案
python3 manage.py collectstatic
uwsgi啟動項目
cd /home/tarena/uwsgi
uwsgi --ini fruitday_uwsgi.ini
3、多項目部署
uwsgi
每個項目需要單獨建立uwsgi配置檔案,選用不同端口
nginx
配置檔案,1個就可以,添加server{}
部署個人部落格項目
浏覽器通路端口 :8202
/etc/nginx/sites-enabled/project_nginx.conf
# listen 8202
uwsgi和nginx通信端口 :8002
cd uwsgi
vi blog_uwsgi.ini
# socket=127.0.0.1:8002
uwsgi啟動個人部落格項目占用端口 :8082
vi blog_uwsgi.ini
stats=127.0.0.1:8082