FavoriteLoading
0

Linux 之nginx 负载均衡集群

Linux 之nginx 负载均衡集群:
实验环境:10.72.4.37 (dr,是lnmp 的环境),10.72.4.48 (rs1),10.72.4.39 (rs2,是lamp 的环境),三台机上均安装nginx。[rpm  -qal nginx 查看nginx  的黙认安装目录]
【如果是没有安装nginx的,按以下步骤操作:
Centos 6下如果安装过epel的yum源可以直接yum安装nginx  yum install -y nginx
或者源码包编译nginx, 官网地址http://nginx.org/  下载合适版本(最好不要最新)
下载后解压编译安装:
./configure --prefix=/usr/local/nginx; make; make install
源码包cd /usr/local/nginx/conf; yum安装 cd /etc/nginx
vim nginx.conf // 增加
include lb.conf;
vim lb.conf  //增加如下  #编译upstream
[root@dir ~]# vim /usr/local/nginx/conf/vhosts/lb.conf #编译upstream
upstream 321.com {
server 10.72.4.39:80 weight=2;#此处可以加端口,也可以不加,黙认是80
server 10.72.4.48:80 weight=1;
}
server {
listen 80;
server_name www.321.com;
location / {
proxy_pass      http://321.com/;
proxy_set_header Host   $host;
proxy_set_header X-Real-IP      $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
~
[root@dir ~]# ipvsadm -C  #清空之前实验的所有规则
[root@dir ~]# iptables -t nat -F
[root@dir ~]# iptables -F
[root@dir ~]# /etc/init.d/nginx start  #启动nginx
Starting Nginx:                                            [  OK  ]
[root@dir ~]# curl -xlocalhost:80 www.321.com  #在dir 上curl测试,因为加了权重,两次rs2,一次rs1

[root@rs2 ~]# /etc/init.d/nginx stop  #停掉rs2 上的 nginx 服务
Stopping nginx:                                            [  OK  ]
[root@dir ~]# curl -xlocalhost:80 www.321.com  #服务器直接把rs2 剔除
Welcome to china,wumai 2016-12-23 RS1_rs1
#全是rs1 ,不会切换到rs2,因为rs2的服务已要停了,服务器自动把RS2

重新启动rs2上的nginx 服务又恢复原来两台rs 的工作状态

--------------------------------------------------------
Linux 之nginx 负载均衡集群可以针对目录来操作。楼主末亲测。
来源 :http://ask.apelearn.com/question/920
我的需求: 当请求的目录是 /aaa/ 则把请求发送到机器a,当请求的目录为/bbb/则把请求发送到机器b,除了目录/aaa/与目录/bbb/外,其他的请求发送到机器b
我的配置文件内容为:
upstream aaa.com
{
server 192.168.111.6;
}
upstream bbb.com
{
server 192.168.111.20;
}
server {
listen 80;
server_name li.com;
location /aaa/
{
proxy_pass http://aaa.com/aaa/;
proxy_set_header Host   $host;
proxy_set_header X-Real-IP      $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /bbb/
{
proxy_pass http://bbb.com/bbb/;
proxy_set_header Host   $host;

分页阅读: 1 2
【声明】:8090安全小组门户(http://www.8090-sec.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱hack@ddos.kim,我们会在最短的时间内进行处理。