1. 靜態文件
當Django運行在生產模式時,將不再提供靜態文件的支持,需要將靜態文件交給靜態文件服務器。
我這裏項目目錄是:/opt/server,靜態文件夾是/opt/front_end_pc/static。
Django提供了收集靜態文件的方法。設置配置文件中配置收集之後存放的目錄將靜態文件複製到front_end_pc目錄下的static目錄中
注意把 STATICFILES_DIRS此行註釋掉,添加以下
DEBUG = False
STATIC_ROOT = os.path.join(os.path.dirname(os.path.dirname(BASE_DIR)), 'front_end_pc/static')
然後執行收集命令
python manage.py collectstatic
2.uwsgi安裝和配置啓用
pip install uwsgi
2.1 在項目目錄/opt/server 下創建uwsgi配置文件 uwsgi.ini
[uwsgi]
#使用nginx連接時使用,Django程序所在服務器地址
socket=127.0.0.1:8001
#項目目錄
chdir=/opt/server
#項目中wsgi.py文件的目錄,相對於項目目錄
wsgi-file=server/wsgi.py
# 進程數
processes=4
# 線程數
threads=2
# uwsgi服務器的角色
master=True
# 存放進程編號的文件
pidfile=uwsgi.pid
# 日誌文件,因爲uwsgi可以脫離終端在後臺運行,日誌看不見。我們以前的runserver是依賴終端的
daemonize=uwsgi.log
# 指定依賴的虛擬環境
virtualenv=/root/.virtualenvs/py3
2.2 啓動uwsgi服務器
uwsgi --ini uwsgi.ini
注意如果想要停止服務器,除了可以使用kill命令之外,還可以通過
uwsgi --stop uwsgi.pid
3
. 配置Nginx
使用Nginx服務器作爲靜態文件服務器
vim /etc/nginx/nginx.comf
server {
listen 80;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
}
location /static {
# 靜態文件配置
alias /opt/front_end_pc/;
}
}
注意安裝uwsgi
1.獲取最新版uwsgi
wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
2. 解壓
tar zxvf uwsgi-latest.tar.gz
3. 編譯
cd uwsgi-2.0.18.1/
python3 uwsgiconfig.py --build
4. 安裝
python3 setup.py install
5. 建立軟連接,注意如果以前安裝過uwsgi請刪除以前的uwsgi文件
ln -s /usr/local/bin/uwsgi /usr/bin/
vim uwsgi.ini
[uwsgi]
#直接做web服務器使用,Django程序所在服務器地址
socket=192.168.1.117:8001
#項目目錄
chdir=/opt/server
#項目中wsgi.py文件的目錄,相對於項目目錄
wsgi-file=server/wsgi.py
# 進程數
processes=4
# 線程數
threads=2
# uwsgi服務器的角色
master=True
# 存放進程編號的文件
pidfile=uwsgi.pid
# 日誌文件,因爲uwsgi可以脫離終端在後臺運行,日誌看不見。我們以前的runserver是依賴終端的
daemonize=uwsgi.log