【金】nginx+uwsgi+django+python 应用架构部署

时间:2022-01-06 14:07:13

网上有很多这种配置,但就是没一个靠普的,费了好大的力气才完成架构部署。顺便记录一下。

一.部署前的说明

先安装好 python,django,uwsgi,nginx软件后。后配置运行的软件是分先后的。
第一个.配置好django项目的/opt/web/testsite/目录和文件
第二个.配置好uwsgi.ini 文件并运行,运行后,会在/opt/web/testsite/目录生成一个tests.sock文件(/opt/web/testsite/tests.sock),用于nginx服务器调用,这就是要uwsgi服务要先于nginx服务器运行的目的。
[uwsgi]
chdir = /opt/web/testsite
module = testsite.wsgi:application
 
socket = /opt/web/testsite/tests.sock
chmod-socket = 666
module = testsite.wsgi
 
master = true
processes = 4
#vhost = true
#no-stie = true
#workers = 2
reload-mercy = 10
vacuum = true
max-requests = 5000
limit-as = 1024
#buffer-sizi = 30000
pidfile = /var/run/uwsgi.pid
daemonize = /var/log/uwsgi.log
第三个.再设置nginx中的配置文件.我的配置文件是 nginx/conf/vhost/www.phalcon.cn.conf文件内容如下
log_format www.phalcon.cn '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
 
 
server {
listen 8088;
#server_name www.phalcon.cn;
#server_name localhost;
server_name _;
access_log /home/wwwlogs/www.phalcon.cn.log;
error_log /home/wwwlogs/error.log;
 
root /opt/web/testsite;
location / {
uwsgi_pass unix:///opt/web/testsite/tests.sock;
include uwsgi_params;
#uwsgi_pass 127.0.0.1:9090;
#uwsgi_param UWSGI_SCRIPT index;
#uwsgi_param UWSGI_PYHOME $document_root;
#uwsgi_param UWSGI_CHDIR $document_root;
 
}
access_log /home/wwwlogs/www.phalcon.cn.log www.phalcon.cn;
}