需求:

                需要把原机房服务器进行迁移并重新规划新IDC机房服务器的业务,所以将原来整个业务进行拆分和迁移。下面是原来机房的架构图,服务器之间的登录为秘钥登录,且192.168.111.30为跳板机,只能通过这台机器连接到其它的Server上面,其它机器不能相互连接。网关是192.168.111.253,掩码是255.255.255.0(24位)

wKiom1YJAZ6Q6HI-AAKBEeO8VRU856.jpg

如果你能细心阅读,那么对你个人肯定是有帮助的  ~~

从上面架构图来看,主要的就是Nginx这块了,第二个就是Mysql的主从同步,其实搭建过的朋友可以看出,这是一个常用并且较容易实施的架构,在PV日访问量达到上百万以上的,这个架构肯定是被Boss驳回的,并且此方案也行不通。(此架构PV同时在线可达10万左右)好了,那就来分享具体操作吧。


具体操作如下:

  1. 在防火墙这块,我们需要设置网卡内外网的地址,并保证外网能正常访问。搭建Open***(让办公区的网络能访问到IDC机房)、NAT的实现是为了机房内部服务器能访问外网,开启Iptables防火墙策略(这个非常重要!!!),在内网的所有服务器上将原来的22端口换掉,改成自己常用的端口,并将不常用的服务端口关闭,然后开启iptables防火墙策略,将更改后的SSH端口通过iptables 放行。(一切是为了服务器的安全,避免出重大事故,不想写事故报告,那就做好安全策略咯)


    命令行输入:

    iptables -A INPUT -p tcp --dport 1111 -j ACCEPT

    iptables -A OUTPUT -p tcp --sport 1111 -j ACCEPT  

    开放其它端口类似,将1111换成想用的端口即可。


  2.交换机这块就没做过多的设置,用的是三层交换,其实交换机的作用就是做数据的转发(交换机的原理:学习、查找、转发)

      交换机操作:创建vlan 100,将1到10口划入100,创建地址池,然后指定网关为192.168.111.253,掩码255.255.255.0,地址池中写入DNS(这些操作很简单)


  3.在Nginx架构这块,首先LEMP环境,Mysql 5.6,用CMAKE安装,Nginx用tengine,Php用5.5。

    Nginx的master服务器上和Backup安装:

yum -y install gcc gcc-c c++ kernel -devel openssl-devel pcre

但是ipvsadim,keepalived用源码包来安装,将state不能重复(master和backup定义一个主从),然后将backup服务器上的优先级调低点,不能高于master, VIP地址设置为192.168.111.98。具体可以根据主配置文件修改   /usr/local/webserver/keepalived/keepalived.conf。源码包可在网上下载,直接编译安装即可,操作很简单。由于每个人的安装方式不同,那么具体安装就不贴了,望理解。

然后在Nginx Master上安装Haproxy(回话保持机制,跟Nginx的ip_hash机制类似,即balance source)

操作如下:下载haproxy软件包,源码编译安装

tar zxvf haproxy-1.3.20.tar.gz

cd haproxy-1.3.20

make TARGET=linux26 PREFIX=/usr/local/haproxy

make install PREFIX=/usr/local/haproxy

cd /usr/local/haproxy

然后修改安装后的haproxy.cfg主配置文件(先备份,后修改!!!),将主配置文件cp到新的haproxy.cfg中修改,在最后添加:

listen web_proxy 111.1:80

            server web1 192.168.111.30:80 cookie applinst1 check inter 2000 rise 2 fall 5

            server web1 192.168.111.40:80 cookie applinst1 check inter 2000 rise 2 fall 5

然后保存退出。

运行HAproxy

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg