配置生產環境
#setting.py 文件中DEBUG = False # 生產環境# 允許訪問的域名,域名前加一個點表示允許訪問該域名下的子域名,比如 www.zmrenwu.com、# test.zmrenwu.com 等二級域名同樣允許訪問。如果不加前面的點則只允許訪問 zmrenwu.comALLOWED_HOSTS = ["127.0.0.1",".blogzjl.site"]
創建Python虛擬環境
安裝 virtualenv
sudo pip3 install virtualenv
克隆Python的環境
#先到指定目錄下運行, 我的虛擬環境是在 blogzjl.site 目錄下#指定--python=python3 克隆Python3的環境virtualenv --python=python3 env#進入虛擬環境source /home/zjl/sites/blogzjl.site/env/bin/activate#用戶名前,會出現 (env) zjl@ ,表示進入#后面基本上都是在虛擬環境中完成的
收集靜態文件
先在settings中配置 STATIC_ROOT = os.path.join(BASE_DIR, 'static')
同時在mysite_nginx.conf 中將靜態文件的路徑改為 static 的絕對路徑
#在settings中配置# STATIC_ROOT 指明了靜態文件的收集目錄,即項目根目錄(BASE_DIR)下的 static 文件夾STATIC_ROOT = os.path.join(BASE_DIR, 'static')#在命令行輸入python3 manage.py collectstatic #將靜態文件copy到統一的目錄static下
uwsgi配置
安裝 uwsgi
pip3 install uwsgi#可能需要更新pip才能安裝,根據提示輸入命令更新pip install --upgrade pip
測試 uwsgi
在項目目錄下執行
uwsgi --http 127.0.0.1:8080 --file BlogProject/wsgi.py --static-map=/static=static#--http 這個就和runserver一樣指定IP 端口#--file Django 項目中wsgi.py文件的路徑,和setting.py在同一個目錄下#-- static 做一個映射,指定靜態文件#可能會啟動/訪問失敗,請檢查端口是否占用,file 或 static 路徑是否正確#使用命令 netstat -nultp 查看端口使用情況#關掉相關經常 killall -9 uwsgi 或 kill -9 進程號
執行Linux命令 curl http://127.0.0.1:8080 訪問,查看是否是訪問成功后的頁面(可以啟動DEBUG 對錯誤頁面的相關調試)
配置文件
相當于將 uwsgi --http 127.0.0.1:8080 --file BlogProject/wsgi.py --static-map=/static=static 這一長串命令配置到文件里,簡化以后的啟動命令
在自定義目錄或項目主目錄下創建uwsgi配置文件:blogzjl_uwsgi.ini(自定義命名,以 .ini 結束),我這里是在/home/zjl/sites/blogzjl.site/blogzjl/
路徑下自定義的一個目錄 script 存放所有配置(包括nginx)相關的文件
[uwsgi]#the local unix socket file than commnuincate to Nginxsocket = /home/zjl/sites/blogzjl.site/blogzjl/script/uwsgi.sock# 項目路徑chdir = /home/zjl/sites/blogzjl.site/blogzjl/BlogProject/# Django's wsgi file 項目中wsgi的位置wsgi-file = BlogProject/wsgi.py#進程相關設置# 進程數 同 processesworker = 5#processes = 4#線程數#threads = 2#指定靜態文件static-map = /static=/home/zjl/sites/blogzjl.site/blogzjl/BlogProject/static#主進程啟動master = truepidfile = /home/zjl/sites/blogzjl.site/blogzjl/script/uwsgi.pid#static-map = /static = /home/zjl/sites/blogzjl.site/blogzjl/BlogProject/static#啟動uwsgi的用戶名和用戶組uid = zjlgid = zjl#啟用線程enable-threads = True#設置自中斷時間harakir = 30#設置緩沖post-buffering = 4096#設置后臺運行daemonize = /home/zjl/sites/blogzjl.site/blogzjl/script/uwsgi.log#monitor uwsgi status#stats = 127.0.0.1:9191# clear environment on exit 退出時清除環境vacuum = true
新聞熱點
疑難解答