搭建uWSGI集群,只需要多做几份uWSGI的配置文件,文件中设置不同的ip:port,指向相同的project,然后启动
多个uWSGI即可。
1. Nginx的安装
- 将tar包发送的linux
- 解压
tar -zxvf nginx-1.11.1.tar.gz
- 安装依赖
yum install gcc zlib-devel pcre-devel
- cd到解压目录:
./configure
#配置检测 - cd到解压目录:
make && make install
#编译并安装 - 安装完成,安装路径为
/usr/local/nginx
,日志路径为/usr/local/nginx/logs
,
可执行文件路径为/usr/local/nginx/sbin
,配置文件路径为/usr/local/nginx/conf
欢迎页面路径为/usr/local/nginx/html
-
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
制作连接,便于执行 nginx 指令 -
nginx
#启动nginx -s stop
#关闭nginx -s reload
#重启http://ip:80
即可访问nginx欢迎页面
2. nginx与uWSGI
nginx.conf
配置
upstream django{
server 192.168.157.132:9001; # uWSGI's socket = 192.168.x.x:8001
#可以在添加其他的uWSGI的服务器
}
server {
listen 80;
server_name 192.168.157.131;
charset utf-8;
location / {
uwsgi_pass django; #和上面的upstream转接
include /usr/local/uwsgi_params; # 该文件在配置文件下
}
location /static {
alias /usr/local/static;
# 注意: static来自:在project的settings.py中添加配置:STATIC_ROOT = os.path.join(BASE_DIR,'static'),STATIC_ROOT指向project目录下的 static目录,然后执行汇总指令:python manage.py collectstatic将该文件拷贝到nginx服务器的/usr/local目录下`/usr/local/static`
}
配置好后,重启nginx即可
注意关闭防火墙
两台虚拟主机,一个运行nginx,其中保存project的静态资源;一个运行uwsgi,其中保存并部署project。
3. 集群和负载均衡策略
搭建uWSGI集群,只需要多做几份uWSGI的配置文件,文件中设置不同的ip:port,指向相同的project,然后启动
多个uWSGI即可
*默认:轮询
upstream django {
server 192.168.0.103:8989;
server 192.168.0.104:8990;
}
*iphash:基于ip的负载均衡.
upstream django {
ip_hash;
server 192.168.0.103:8989;
server 192.168.0.104:8990;
}
*权重轮询:
upstream django {
server 192.168.0.103:8989 weight=1;
server 192.168.0.104:8990 weight=2;
}
*最小连接数:
upstream django {
least_conn;
server 192.168.0.103:8989;
server 192.168.0.104:8990;
}
网友评论