Django 项目分布式部署【UWSGI + NGINX】
使用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/; }