欢迎光临
我们一直在努力

keepalived+msyql+nginx 高可用数据库主从同步 nginx负载均衡+vsftpd发布

本站教程收集整理的这篇文章主要介绍了keepalived+msyql+nginx 高可用数据库主从同步 nginx负载均衡+vsftpd发布,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

硬件环境:五台dell服务器(DELL R540服务器做raid按F2)

操作系统:centos7.3

需求:

1、两台服务器做MysqL主从同步以及靠可用

2、五台服务器安装Nginx并作web发布,其中两台做负载均衡

一、安装服务前提,配置分区

因为硬盘都是超过2T的,所以不能用常规的fdsik命令来分区。

fdsik -l #查看本地所有的磁盘

parted? /dev/sda #找到未分区的磁盘,准备分区

@H_260_0@mklable pgt #将磁盘设置为gpt个格式的磁盘

@H_260_0@mkpart? priMary 0 4T? #分一个4T的主分区

quit? ?#退出

二、配置五台服务器本地共享yum源

在集群中找一台空闲的服务器做web发布服务器,丢上去一个镜像,先挂载到本地。

@H_260_0@mount -o loop -t iso9660 /root/centos7.3.iso? /mnt

加入到/etc/fstab? ?#开机自启

/root/centos7.3.iso /mnt? iso9660 default,loop? 0? ?0

安装web发布服务apache

yum install httpd -y

更改apache发布的默认目录

vim? //etc/httpd/conf/httpd.conf

找到?DocumentRoot “/var/www/html”

将默认目录改为/mnt

注销欢迎网页

vim /etc/httpd/conf.d/welcome.conf

注销里面的页面内容

启动apache

systemctl? start httpd

访问本地地址(192.168.1.10)? 会有镜像里面的所有文件

其他主机yum配置

cd /etc/yum.repo.d/

rm -rf ./*(斜杠前面有个点)

vim defaults.repo

[name]

baseurl=http://192.168.1.10 #共享yum主机的地址

enabled=1

gpgcheck=0

保存退出

所有主机都这样配置即可,然后就可以直接用yum源,不用再上传iso文件

三、安装MysqL做主从同步

@H_260_0@mysqL版本5.7

@H_260_0@mysqL自行安装阔以百度哈,这里不写安装过程

安装完MysqL之后,开始做主从同步

@H_260_0@master:192.168.1.1

slave:192.168.1.2

更改主数据库配置文件,启用二进制文件

vim /etc/my.cnf

[MysqLd]

log-bin=MysqL-bin

server-id=1? #master设置为1? ?slave设置为2

更改从数据库配置文件

vim /etc/my.cnf

[MysqLd]

log-bin=MysqL-bin

server-id=2

先分别给两台服务器刷权限

@H_260_0@mysqL> grant all privileges on *.* to root@”%” identified by “123456” with grant option;

查看slave的master状态

@H_260_0@mysqL > show master \G

记录下Master和Slave的file文件名称和pos的id

配置主从同步:(在从库上配置)

在slave上配置

@H_260_0@mysqL> change master to master_host=’192.168.1.10′,master_user=’root’,master_password=’123456′,master_log_file=’binlog.000006′,master_log_pos=76070;

启动主从同步

@H_260_0@mysqL > start slave;

查看sql线程和IO线程是否正常开启

@H_260_0@mysqL > show slave status \G

这就代表成功了

可以在主库中新建表、或者写数据来进行测试

四、安装keepalived做MysqL的高可用。

下载好keepalived的软件包

在master、slave两台数据库中分别安装keepalived。

解压keepalived安装包

tar-zxvf keepalived-1.2.8.tar.gz

切换到keepalived目录下编译安装

cdkeepalived-1.2.8

./configure –prefix=/usr/local/keepalived

–with-kernel-dir=/usr/src/kernels/2.6.18-308.el5xen-i686/

@H_260_0@make&& make install

拷贝文件到相关目录

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

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

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

@H_260_0@mkdir-p /etc/keepalived

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

配置keepalived

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id MysqL

}

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id 60

priority 100? ? ? ? ? ???#定义主从关系,数值越大优先级越高

advert_int 1

authentication {

auth_type PASS

auth_pass 123456

}

virtual_ipaddress {

192.168.103.106/24? ??#定义一个虚拟IP,当主服务器MysqL挂掉,这个ip会切换到从服务器上

}

}

virtual_server 192.168.103.106 3306 {

delay_loop 6

lb_algo wrr

lb_kind DR

persistence_timeout 5

protocol TCP

real_server 192.168.103.100 3306 {? ? ? ? ? ? ? ???#本地监听服务端口

weight 3

notify_down /usr/local/keepalived/master.sh

TCP_checK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}
配置从服务器,从服务器上只有???priority 和??real_server与主服务器不同,其他一样,real_server为本地IP,prioity数值要比主服务器小,取其一半。

启动服务

systemctl start keepalived

测试:

将主服务器上的MysqL停掉看虚拟IP是否会转移动slave上

查看命令

ip addr show dev em1? ?#em1为网卡名称

五、ftp服务搭建

yum install vsftpd -y

useradd? ftpuser #创建ftp用户

passwd ftpuser? ?#设置用户密码

chown ftpuser /var/www/html? ?#指定该目录所有者

chgrp?ftpuser /var/www/html? ? #指定该目录所属组

usermod -d /var/www/html ftpuser? #指定该用户登入时的目录

给ftp远程登陆时候的权限

sestatus -b | grep ftp

setsebool -P ftp_home_dir on (依次类推,把红色部分的权限都开)

启动服务

systemctl start vsftpd

在电脑上测试

@H_402_301@

六、Nginx负载均衡加web发布

利用Nginx来做负载均衡以及一个web发布服务,主要发布的是ftp上的文件

?安装prex

tar -zxvf pcre-8.35.tar.gz

cd pcre-8.35

./configure(此处若报错,检查是否安装gcc)

@H_260_0@make

@H_260_0@make install

? ?安装Nginx

tar -zxvf Nginx-1.2.5.tar.gz

cd Nginx-1.2.5

./configure

@H_260_0@make

@H_260_0@make install

启动Nginx

cd /usr/local/Nginx/sbin

./Nginx

关闭Nginx

pkill Nginx

配置Nginx配置文件,将其中一台做负载均衡并且可以访问自己本地文件

配置如下:

upstream Nginx? ? ??#配置多个负载的主机IP

{

server 192.168.103.10:80 weight=4 max_fails=2 fail_timeout=30s;

server 192.168.103.11:80 weight=4 max_fails=2 fail_timeout=30s;

}

server {

listen? ? ? ?80;? ? ? ? ? ? ? ? ??? ?#监听本地80端口

server_name? localhost;

?

#charset koi8-r;

#access_log? logs/host.access.log? main;

LOCATIOn / {

proxy_pass http://Nginx;? ?#转发的地址

}

}

?

server {

listen? ? ? ?8090;? ? ? ? ? ? ? ? ? ? ? ??#基于端口的虚拟主机,访问8090所访问目录

server_name? localhost;

?

#charset koi8-r;

#access_log? logs/host.access.log? main;

LOCATIOn / {

root /var/www/html;? ? ? ? ? ? ? ??#指定Nginx默认访问目录

index? index.html index.htm;

autoindex on;

autoindex_exact_size off;

autoindex_localtime on;

}

再启动Nginx

END

?

本站总结

以上是本站教程为你收集整理的keepalived+msyql+nginx 高可用数据库主从同步 nginx负载均衡+vsftpd发布全部内容,希望文章能够帮你解决keepalived+msyql+nginx 高可用数据库便宜香港vps主从同步 nginx负载均衡+vsftpd发布所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。