1. 配置负载均衡策略, 在/etc/nginx/conf.d/新建一个nginx.conf配置文件, 加入以下内容
#ip_hash;
#weight 服务器权重值,如果服务器性能一致,可以将权重值配置为一样
server 127.0.0.1:9701 weight=1;
server 127.0.0.1:9702 weight=2;
server 127.0.0.1:9703 weight=4;
}
server {
server_name 127.0.0.1;
access_log /var/log/nginx/nginx_demo_access.log;
error_log /var/log/nginx/nginx_demo_error.log;
charset utf-8;
client_max_body_size 75M;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
#Backend自己随便起的,但是要保证和upstream后面的名一致
proxy_pass http://backend;
}
}
里面uwsgi.ini配置(其中一个, 直接将其复制到其他项目中, 注意文件的路径的配置)
# Django-related settings
# 项目绝对路径
chdir = /home/project/FuZai
# Django的wsgi文件相对路径
wsgi-file = FuZai/wsgi.py
# process-related settings
# master
master = True
# 最大进程数
processes = 4
# 线程数
threads = 2
#设置此参数,有一个主进程
master=True
#守护进程的方式运行,log日志存在此log文件里
deamonize=/var/log/uwsgi/djangoProject.log
#主进程id写入文件里
pidfile= /var/log/nginx/uwsgi.pid
# ... with appropriate permissions - may be needed
# chmod-socket = 664
#退出时,清理环境
vacuum = True
reload-mercy = 10
max-requests = 5000
limit-as = 512
buffer-size = 30000
3. 在/etc/nginx/conf.d下新建project_nginx.conf(自定义)文件, 在文件中配置nginx服务监听server端口, 需要监听upstearm backend中监听的三个端口,分别配置三个server,监听不同端口,配置和uwsgi交互的内网端口,例如 9701<->9801 ,9702<->9802,9703<->9803....
例如:
server {
listen 9701;
server_name 127.0.0.1;
access_log /home/project/FuZai/FuZai_access.log;
error_log /home/project/FuZai/FuZai_error.log;
charset utf-8;
client_max_body_size 75M;
root /home/project/FuZai;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9801;
uwsgi_read_timeout 2;
}
}
server {
listen 9702;
server_name 127.0.0.1;
access_log /home/project2/FuZai/FuZai_access.log;
error_log /home/project2/FuZai/FuZai_error.log;
charset utf-8;
client_max_body_size 75M;
root /home/project2/FuZai;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9802;
uwsgi_read_timeout 2;
}
}
server {
listen 9703;
server_name 127.0.0.1;
access_log /home/project3/FuZai/FuZai_access.log;
error_log /home/project3/FuZai/FuZai_error.log;
charset utf-8;
client_max_body_size 75M;
root /home/project3/FuZai;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9803;
uwsgi_read_timeout 2;
}
}
4. 开启多个服务器
每个项目开一个
测试网站点击打开链接