Centos7 部署Django項目 uwsgi + nginx
啟動
首先確保你的django項目是可以在虛擬環境中跑起來的,環境管理窩用的是pyenv,pyenv不知道什么東西的可以參考窩之前寫過的Pyenv環境管理的安裝文。
項目啟動
python manager runserver

但是這里有個問題,如果你是虛擬機的話,你就無法通過127的地址來訪問你的項目
所以需要配合nginx來使用
nginx配置
centos 的配置nginx和ubuntu的有點不一樣,下載的教程網上很多,我就不列了,默認已經安裝好nginx ,然后通過find命令找到nginx的默認配置路徑
find / -name "nginx.conf"

nginx路徑如下

得到nginx的路徑,然后開啟nginx服務
啟動./usr/local/nginx/sbin/nginx
更新 ./sbin/nginx -t
重載 ./sbin/nginx -s reload
查看nginx日志可以到logs下去看配置日志

err.log為重載日志,access為日常訪問日志
這時候,窩們就可以去做反向代理了,不過一般不在主配置文件nginx.conf下增加配置,需要另外起一個nginx的單獨配置服務,修改
nginx.conf 在http下增加include 這的是為了配置服務可以被nginx讀取到,且如果項目過多的話,好配置一點,配置如下

cd conf
mkdir vhost # 放置項目配置文件
#添加一條
include /usr/local/nginx/conf/vhost/*.conf;
這樣,就可以在vhost添加自己項目的conf了
看看我們nginx啟動成功沒有, 輸入 http:ip 地址

沒問題。然后在vhost寫單獨的配置文件

有兩種寫法,一種是可以直接訪問的,不經過uwsgi啟動的,可以直接測試,test_centos.conf 配置 如下
server {
listen 8100;
server_name 192.168.254.128;
access_log /var/log/nginx/uwsgi-access.log; # 指定nginx日志存放路徑
error_log /var/log/nginx/uwsgi-error.log; # 同上
location / {
root /home/dior/yyxx_platform_center;
proxy_pass http://127.0.0.1:8000/; # 通過ip地址來直接訪問,監聽的是8100端口,反向代理到8000端口
access_log off;
}
}
修改了 nginx 之后需要重載 -t 代表先測試

nginx 日志如下

這時候 訪問 http://192.168.254.128:8100/ 這樣就可以通過Nginx訪問到你服務器本地的服務
當然我們不能讓程序這樣一直開著,所以我們需要用到uwsgi,來通過后臺啟動 寫nginx的配置
server {
listen 8100;
server_name 192.168.254.128;
access_log /var/log/nginx/uwsgi-access.log;
error_log /var/log/nginx/uwsgi-error.log;
location / {
root /home/dior/yyxx_platform_center;
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
access_log off;
}
}
注意nginx需要修改的地方,然后重載,然后就可以將啟動方式改為uwsgi了
uwsgi
uwsgi用xml配置文件直接配置,配置如下
<uwsgi>
<socket>127.0.0.0:8000</socket>
<listen>128</listen>
<master>true</master>
<processes>4</processes>
<pythonpath>./</pythonpath> #此處為django項目的目錄
<module>django_wsgi</module>
<profiler>true</profiler>
<memory-report>true</memory-report>
<enable-threads>true</enable-threads>
<logdate>true</logdate>
<limit-as>2010</limit-as>
<py-autoreload>0</py-autoreload>
<touch-reload>up_version</touch-reload> # 修改該文件就可以重啟服務
<daemonize>uwsgi.log</daemonize> # uwsgi日志文件輸出(注意需要有權限)
</uwsgi>
然后啟動命令為
uwsgi -x *.xml
# 修改了之后 需要重啟服務的命令為
touch up_version
uwsgi錯誤日志和輸出日志除了自己定義下的日志下,大部分都存在 配置文件 daemonize 的uwsgi.log日志中,這樣就可以看日志調試了

浙公網安備 33010602011771號