架构优化

架构的选型 scale up  向上扩展   scale out 平行扩展   优缺点

scale up  现有程序不需要修改  成本巨大 硬件有极限 

scale out   可以节约硬件成本  技术相对复杂  需要对原先的软件进行重写 

nginx 负载均衡配置 

在服务器上的 /user/local/nginx/cong/nginx.conf   

 

upstream www.bbs.com{  

   //  ip_hash;        

server 192.168.0.4:80 weight=5;    

server 192.168.0.5:80 weight=1;        

server 192.168.0.6:80 weight=1;

 }

server{    

   location /{        

   proxy_pass http://www.bbs.com;  

   }

}

 

redis 实现session共享  

在实体机的php.ini修改  

session.save_handler = redis

session.save_path = "tcp://储存redis数据的服务器的IP地址:6379"

在储存redis数据的服务器 修改以上  并且 需要把bind 中的127.0.0.1 的IP地址更改成  自己的IP地址

 

keeppalived  实现高可用  

安装(两台负载均衡器都要安装)  使用 ip addr 查询网卡数量和网卡对应的IP地址  如果是两块 按以下操作方式  如果是多块 

到 http://www.keepalived.org/download.html  使用wget  下载最新版本  

遇到错误 去https://blog.youkuaiyun.com/l1028386804/article/details/72800770 安装对应 yum

 

yum -y install gcc pcre-devel zlib-devel openssl-devel popt-devel

tar zxvf keepalived-1.2.7.tar.gz

cd keepalived-1.2.7

./configure

make

make install

cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

mkdir -p /etc/keepalived

cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

cp /usr/local/sbin/keepalived /usr/sbin/

 

配置keepalived

vi /etc/keepalived/keepalived.conf

priority 101    #Master值要大于Bakcup

enso  的值改成使用ip addr 查到的值

virtual_ipaddress {        

192.168.1.200 #虚拟IP

       }

-----------------------------------------------------------

启动: /etc/init.d/keepalived start

rsync+inotify文件实时同步

首先将压缩包上传到对应的服务器  

在代码发布服务器上安装inotify                                                  在所有服务器上安装rsync,命令如下:     

                                                                                                  tar zxvf rsync-3.0.9.tar.gz

tar xzvf inotify-tools-3.14.tar.gz                                                  cd rsync-3.0.9

cd inotify-tools-3.14                                                                    ./configure

./configure                                                                                   make

make                                                                                          make install

make install

 


 

在代码发布的服务器上与需要同步的服务器之间要配置 ssh key 信任  在代码发布服务器上要生成公钥和私钥

使用 ssh-keygen -t rsa  直接回车三次 

在将公钥拷贝到 需要更新文件的主机上 

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.252#需要同步的服务器IP

这时在需要同步的服务器上就会看到 authorized_keys文件 


在代码发布服务器上以root身份创建inotify_rsync.sh脚本vi /root/inotify_rsync.sh 输入

#!/bin/sh

SRC=/data/www/    #代码发布服务器目录

DST=/data/www/    #目标服务器目录

IP="192.168.0.5 192.168.0.6"    #目标服务器IP,多个以空格隔开

USER=root

/usr/local/bin/inotifywait -mrq --timefmt '%Y-%m-%d %H:%M' --format '%T

%w%f %e' --exclude "(.swp|.swx|.svn)" \

-e create,move,delete,close_write,attrib $SRC | while read files

do

for i in $IP

do    

/usr/local/bin/rsync -ahqzt --exclude Runtime --delete $SRC $USER@$i:$DST    

echo $files >>/tmp/rsync.log 2>&1

done

done

 


然后赋予脚本可执行权限 chmod +x /root/inotify_rsync.sh

执行脚本/root/inotify_rsync.sh &

如果失败 执行以下命令

然后在执行 /root/inotify_rsync.sh &

完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值