您好,登錄后才能下訂單哦!
思路:使用runserver可以使我們的django項目很便捷的在本地運行起來,但是這只能在局域網內訪問。正式環境部署的話比較安全,而且靜態文件的處理方式會比較友好。nginx作為服務器的最前端,負責接收client的所有請求,靜態請求由nginx自己處理,非靜態請求通過uwsgi傳遞給django,由django來進行處理。
準備: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服務,用瀏覽器訪問即可
也可以編寫腳本用來控制uwsgi的啟動和停止
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。