Django1.11+Uwsgi+Nginx的生產環境部署
準備:1 一個django項目,能用runserver啟動;
2 服務器基礎環境,python2.7+uwsgi;使用pip install uwsgi安裝,nignx1.11.10;
第一步:連接django項目和uwsgi
1 編寫測試腳本驗證uwsgi
運行uwsgi --http :8001 --wsgi-file test.py
通過curl ip:port 來驗證uwsgi正常;
2 使用uwsgi配置文件啟動django項目
創建uwsgi目錄,以及uwsgi.ini配置文件
啟動項目 uwsgi --ini uwsgi.ini
測試訪問。
第二步:連接nginx和uwsgi
修改nginx.conf
其中root_static 目錄為指定的STATIC_ROOT目錄
第三步:運行python manage.py collectstatic將所有靜態文件歸納到自定義的一個目錄下
首先要修改項目的urls.py文件
接著修改settings的文件,將DEBUG設置為False,ALLOWED_HOSTS = ['*']
以及
STATIC_ROOT = os.path.join(BASE_DIR, 'root_static').replace(r'\\','/')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
也就是將所有的靜態文件收集到項目目錄下的root_static目錄下
最後運行命令
python manage.py collectstatic
這個命令的執行目的,就是將在開發模式中定義的靜態目錄,統一拿到STATIC_ROOT目錄下。
1.首先從Django的擴展包中,將admin管理後臺的jss 和css等靜態文件拷貝到配置文件中的STATIC_ROOT目錄下。
2.然後將STATICFILES_DIRS 列表中所有目錄下的內容也拷貝到STATIC_ROOT目錄下
第四步:啟動uwsgi和nginx服務,用瀏覽器訪問即可
Django1.11+Uwsgi+Nginx的生產環境部署