Nginx-ecshop-mycat-主从集群

 

架构图:

Nginx-ecshop-mycat-主从集群_第1张图片

 

  • 准备六台服务器,配置好基础环境,在/etc/hosts文件下写机器信息
  • 搭建主从

[root@Server backup]# cat xtrabackup_binlog_pos_innodb

mysqlbinlog.000003 147451071

Nginx-ecshop-mycat-主从集群_第2张图片

Nginx-ecshop-mycat-主从集群_第3张图片

 

 

  • mycat的安装及配置读写分离
  • 安装 JDK

 rpm -ivh jdk-8u111-linux-x64.rpm

  • 解压安装 mycat

tar xf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/

  • 创建 mycat 用户并配置密码

useradd mycat

  • 为 mycat 目录授予 mycat 用户的权限

chown -R mycat:mycat /usr/local/mycat/

  • 修改主机名配置文件

在 127 最后行末空格加上 mycat 机器的主机名

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 mycat

  • 安装 mysql 客户端,用来连接后端数据库
  • 在主库上为mycat机器建立连接的用户:

mysql> grant all on *.* to 'mycat'@'172.16%' identified by 'mycat';

Mycat 采用这个用户去连接后端的数据库架构

  • 修改/usr/local/mycat/conf/schema.xml

mv schema.xml schema.xml.bak

将软件包中的schema.xml放在/usr/local/mycat/conf中

chown -R mycat:mycat schema.xml

chmod 777 schema.xml

Nginx-ecshop-mycat-主从集群_第4张图片

 

  • 修改 /usr/local/mycat/conf/server.xml 信息

添加白名单:允许哪些机器能够连接 mycat

找到firewall内容,去掉注释,修改如下:

Nginx-ecshop-mycat-主从集群_第5张图片

 

  • 修改 path 变量

vim /root/.bash_profile

source /root/.bash_profile

Nginx-ecshop-mycat-主从集群_第6张图片

 

  • vim /etc/profile

 

source /etc/profile

  • 启动 mycat

mycat start

netstat -tnulp|grep 66

tcp        0      0 :::8066                     :::*                        LISTEN      26511/java          vim

tcp        0      0 :::9066                     :::*                        LISTEN      26511/java

mycat status

  • 检测是否能正常访问数据端口:(模拟应用访问mycat,用户名、密码要找好)

mysql -uroot -p123456 -h172.16.33.33 -P8066 -DTESTDB

检测是否能正常访问管理端口:(管理一个节点、增加一个节点等)

mysql -uroot -p123456 -h172.16.33.33 -P9066 -DTESTDB

监测应用端能否访问数据端口(安装mysal客户端)

mysql -uroot -p123456 -h172.16.33.33 -P8066

  • mycat排错

mycat console

 

  • ecshop的搭建
  • 安装 Apache 和 php:

yum install httpd php* -y

  • 验证 php 是否安装成功

rpm -qa|grep php

  • 修改 httpd 相关的配置文件

vim /etc/httpd/conf/httpd.conf

 

    

    

vim /etc/httpd/conf.d/php.conf

 

vim /etc/php.ini(去掉分号,改为上海)

   Nginx-ecshop-mycat-主从集群_第7张图片

 

  • 上传 ecshop 到 2 台应用服务器并移动到/var/www/html/下:

unzip ECShop_V3.0.0_UTF8_release0530.zip

mv ECShop_V3.0.0_UTF8_release0530/* /var/www/html/

cd /var/www/html/install/data

rm -f data_zh_cn.sql  structure.sql

// (覆盖structure.sql和data_zh_cn.sql文件到/var/www/html/install/data

目录下)原始的做法

  • 给必要目录修改权限:

cd /var/www/html

chmod 777 data/ cert/ images/ includes/ temp/ themes/ -R

  • 添加httpd服务开机自启(默认占用80端口):

 chkconfig --add httpd

chkconfig httpd on

chkconfig --list|grep httpd

 service httpd restart

  • 该页面是前台初始化应用数据的方式(用户名可以为mycat):
  • Nginx-ecshop-mycat-主从集群_第8张图片

 

  • 和下面的效果相同,以下内容可不做

在主服务器上新建数据库:

create database TESTDB character set =utf8;

将建表语句和数据直接在主库上执行:

 

  • 修改 ecshop 中连接数据库的信息(通过用户名、密码访问mycat,应该和mycat白名单中一样):

 vim /var/www/html/data/config.php

Nginx-ecshop-mycat-主从集群_第9张图片

 

service httpd restart

五、nginx 负载均衡的搭建

  • 安装 nginx

rpm -ivh nginx-1.11.11-1.el6.ngx.x86_64.rpm

  • 编辑 nginx 的配置文件

修改后端负载均衡的配置(放在http内容下):

vim /etc/nginx/nginx.conf    |   # vim /usr/local/nginx/conf/nginx.conf

 upstream mysvr {

        server 172.16.55.55:80 weight=5;

        server 172.16.66.66:80 weight=5;

    }

修改基本的网页配置(上传文件):

Nginx-ecshop-mycat-主从集群_第10张图片

vim /etc/nginx/conf.d/default.conf    |   vim /usr/local/nginx/conf/nginx.conf

 

  • 启动 nginx 负载均衡及添加开机自启动(会占用80端口)

service nginx start     

netstat -tnulp|grep nginx

chkconfig nginx on

chkconfig --list|grep nginx

  • 通过刷新访问 nginx 的 IP 地址看 mycat 机器端看负载均衡配置是否成功

Nginx地址:http://172.16.77.77/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(mycat学习)