1,測試項目是否正常運行
使用Django自帶的server測試項目正確性:
python manage.py runserver 0.0.0.0:8080
如可訪問正常,則項目正常。若出現無法連接的情況:
-
檢查服務器安全組的所需要的端口是否開放
– 如果沒有開放
##WARNGING:如果沒有開放端口,就算在後面nginx配置完成,頁面也將進不去1.開放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
2.保存:/etc/rc.d/init.d/iptables save
3.重啓服務:/etc/init.d/iptables restart
4.查看端口是否開放:/sbin/iptables -L -n
-
檢查項目
settings.py
文件中ALLOWED_HOSTS = []
字段改爲ALLOWED_HOSTS = ['*']
允許所有連接 -
將項目文件放在/home/目錄下
2,安裝nginx
關閉Django自帶server,安裝Nginx
sudo apt-get install nginx
Nginx成功安裝後會在80端口顯示默認頁面,如能看見默認頁面,即爲安裝成功.
3.安裝uwsgi
進入項目虛擬環境.安裝uwsgi
source 虛擬環境路徑
pip install uwsgi
使用uwsgi拉起項目
uwsgi --http:8080 --module report.wsgi
4,收集靜態資源
在setting.py設置文件裏面設置STATIC_ROOT=收集靜態存放的路徑
然後在manage目錄下執行
python manage.py collectstatic
5,創建uwsgi配置文件
在項目目錄下創建mysite_uwsgi.ini文件,內容如下:
[uwsgi]
# Django-related settings
# 這邊是設置wsgi的端口,要和下面的nginx設置uwsgi的端口一致
# 這邊可以只設置端口,只設置端口默認ip是127.0.0.1
socket = :8002
# the base directory (full path)
chdir = /home/項目路徑
# django自帶wsgi.py的文件路徑
module = wsgi文件路徑
# process-related settings
# master
master = true
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
plugin python = true
# set log file path
# 日誌存放的路徑
daemonize = 日誌存放的路徑
拉起項目
uwsgi --ini mysite_uwsgi.ini
6,配置Nginx
進入Nginx的目錄
cd /etc/nginx
先刪除80端口的默認頁面(可選操作,或者更改defult文件,新建自定義的配置文件)
rm sites-enabled/default
在sites-available
下創建新的配置文件(自定義名稱)`
cd sites-available/
vim
配置文件內容如下
server{
listen 開放的端口;
# 服務器IP地址
server_name 服務器IP;
# Django
# 這是固定的對接uwsgi ip和端口
location / {
uwsgi_pass 127.0.0.1:8002;
include /項目路徑/uwsgi_params;
}
# 這邊是靜態文件訪問的url地址和對應的靜態文件的路徑,css路徑爲/static/
#Django static
#location url {
# alias url對應的文件路徑;
#}
# django收集靜態文件後的css等的路徑
location /static/ {
alias 收集靜態文件的所在的路徑;
}
}
然後進入sites-enabled/
目錄,鏈接available
文件夾中的文件
cd ../sites-enabled/
sudo ln -s /etc/nginx/sites-available/自定義名稱 自定義名稱
拷貝uwsgi_params
文件至項目目錄下:
cd ..
cp uwsgi_params 項目路徑
7,重啓Nginx
sudo /etc/init.d/nginx restart
8,到此爲一些常用操作命令
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start
# 強制殺死uwsgi進程
pkill -f uwsgi -9
# 後臺啓動uwsgi
uwsgi -d --ini mysite_uwsgi.ini
# 查看nginx
ps –ef | grep nginx