您的位置:首页 > 运维架构 > 反向代理

nginx反向代理+keepalived

2015-11-02 00:32 537 查看
系统版本:D 2.6.32-431.el6.x86_64
虚拟机 :四台
环境准备:关闭selinux ; 关闭iptables;
其中两台 nginx +keepalive已安装且正常;
另外两台的节点web工作正常;
#为了更好的测试, web 1:www.22 web 2:www.23 ;

nginx安装:
yum install pcre* -y
yum install openssl openssl-devel -y
useradd -s /sbin/nologin -M nginx
wget -q http://nginx.org/download/nginx-1.6.2.tar.gz

./configure --user=nginx --group=nginx --prefix=/application/nginx1.6.2 --with-http_stub_status_module --with-http_ssl_module
echo $?
make && make install
echo $?
ln -s /application/nginx1.6.2/ /application/nginx
/application/nginx/sbin/nginx

keepalived 安装:
wget http://www.keepalived.org/software/keepalived-1.1.19.tar.gz
ln -s /usr/src/kernels/2.6.32-504.1.3.el6.x86_64/ /usr/src/linux
yum install openssl* -y
yum install popt* -y
cd keepalived-1.1.19
./configure
make
make install

/bin/cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
/bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived -p
/bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
/bin/cp /usr/local/sbin/keepalived /usr/sbin/

etc/init.d/keepalived start
nginx 反向代理配置范例
cd /application/nginx/conf/extra/

vi upstream01.conf
upstream blog_real_servers {
#ip_hash;
server 10.0.0.22:80 weight=15;
server 10.0.0.23:80 weight=15
}
server {
listen 80;
server_name blog.etiantian.org;
location / {
proxy_pass http://blog_real_servers;

#代理多个虚拟主机需添加: proxy_set_header host $host ;

}
}
在主配置文件nginx.conf 里http标签包含配置文件extra/upstream01.conf;模块
include extra/upstream01.conf;
注意:用nginx 做反向代理的时候尽量不要做web。
一个nginx也可以代理多个网站,使用多个vip。进行不同的解析。
#两台服务器都需要配置

keepalived配置:
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
notification_email {
271020772@qq.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 10.0.0.33
smtp_connect_timeout 30
router_id LVS_7
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 55
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.33/24
}
}

在检查上述配置无误的情况下,启动两台的nginx和keepalive
/application/nginx/sbin/nginx -s reload
/etc/init.d/keepalived restart
本机配置hosts文件:解析vip 域名

测试:








#如果多次访问为同一台主机,检查nginx的weight=15 权重是否一直。

将其中一台web服务停止,检测域名是否可以正常访问~
如果两台web同时停止服务,访问时返回:502 Bad Gateway
将其中一台主机的keepalive停止,测试web服务是否正常。

完毕!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  虚拟机