Django 项目分布式部署【UWSGI + NGINX】
2017-12-23 本文已影响13人
依旧丶森
使用USGI配置Django项目的多进程部署,使用NGINX进行静态文件的部署和负载均衡的配置
1.在多台主机上部署多个相同的Django项目【同一台主机上部署多个项目进行模拟】
- 设置两个或者多个Django项目的启动配置信息如下:
- 第一个项目 uwgi.ini 文件配置信息:
[uwsgi] # 配置项目访问地址 http=localhost:8000 # 配置项目根路径 chdir=/home/worker/django_pro_1_11/mysite # 相对路径指定当前项目中wsgi.py wsgi-file=mysite/wsgi.py # 设置启动的进程数量 processes=4 # 设置每个进程启动的线程数量 threads=2 # 设置主进程 master=True # 指定保存主进程编号的文件 pidfile=uwsgi.pid # 指定守护进程的日志存储 daemonize=uwsgi.log
- 第二个项目 uwgi.ini 文件配置信息:
#大致与第一个项目类似,只是修改了访问地址和项目路径 [uwsgi] # 配置项目访问地址 http=localhost:9000 # 配置项目根路径 chdir=/home/worker/django_pro_1_11/mysite2
2.配置NGINX静态服务器映射和负载均衡
# 使用默认的轮询分发配置多个分布的服务主机
upstream myweb {
server 127.0.0.1:8000;
server 127.0.0.1:9000;
}
server {
listen 80;
server_name 192.168.10.120;
# 配置分布式负载转发
location / {
proxy_pass http://myweb;
}
# 配置静态文件服务器
location /static {
alias /home/worker/django_pro_1_11/myweb/static_file/;
}