在线商城服务器架构及部署步骤Word文件下载.docx
《在线商城服务器架构及部署步骤Word文件下载.docx》由会员分享,可在线阅读,更多相关《在线商城服务器架构及部署步骤Word文件下载.docx(61页珍藏版)》请在冰豆网上搜索。
slave1
Mysqlslave2
192.168.100.223
slave2
NFS服务器
192.168.100.224
NFS
LVS主
192.168.100.225
192.168.100.230
Keepalived+LVS
LVS备
192.168.100.226
Web1
192.168.100.227
Nginx+PHP
Web2
192.168.100.228
Zabbix
192.168.100.229
1.3服务器说明
(1)MHAManger
为数据库集群管理服务器,监控mysql服务器运行状态,当mysql-master服务器出现问题时,可控制slave自动服务器切换为master。
(2)MysqlMaster
主数据库,提供读写功能,为slave数据库提供数据同步。
(3)Mysqlslave1-2
从库,可提供读服务,与master实时同步数据。
(4)NFS服务器
文件存储服务器,为两台web服务器提供共享存储,两台服务器,均可对共享目录进行读写操作,为web集群提供文件共享服务。
(5)LVS主-备
Lvs服务器为两台web服务器提供负载均衡服务,分散访问压力到两台服务器,提高业务的处理能力,主备通过keepalived进行监控,当主down掉时,可备机自动切换,获取VIP继续为web服务器提供服务。
(6)Web服务器
Web服务器使用nginx+PHP,提供web服务。
(7)Zabbix
Zabbix服务器为监控管理服务器,一方面部署zabbix对各服务器进行健康监控,及时发现down掉的服务器,及时处理。
另一方面为备份服务器,为数据库提供备份存储。
2实施部署
2.1服务器初始化
(8)所有服务器首先执行服务器初始化脚本,实现更换yum源、安装epel源、安装vim等常用工具、停止firewalld、安装iptables等操作。
脚本如下:
#/bash
#author:
coralzdpoweredbydaiming
#writtenbycoralzd2018.7.26
#version0.1.0build20180726
#本文件是centos7.4最小化安装后的服务器初始配置工具,主要完成内容:
更换yum源,安装epel源、关闭邮件、selinux等内容,安装常用工具等。
#1。
更换yum源
echo"
*****信息:
更改系统yum源为阿里源"
#备份原有yum源文件/etc/yum.repos.d/CentOS-Base.repo
mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup
****原/etc/yum.repos.d/CentOS-Base.repo文件已被分为/etc/yum.repos.d/CentOS-Base.repo.backup"
#获取阿里yum源
curl-o/etc/yum.repos.d/CentOS-Base.repo
#更新源缓存
yumcleanall
yummakecache
#3.升级openssl
#yuminstall-yopenssl
#echo"
****信息:
openssl已升级至最新版"
#4.安装常用工具ssh,wget工具,网络工具、增强命令补全,gcc编译环境等。
yuminstall-yvimopenssl-develwgetnet-toolsbash-completiongcc-c++
#安装epel源
wgethttps:
//dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm/root
cd/root
yuminstall-yepel-release-latest-7.noarch.rpm
yumrepolist
*****信息--即将关闭:
邮件服务、firewalld防火墙、selinux、NetworkManager"
关闭邮件服务
关闭邮件服务"
systemctlstoppostfix
systemctldisablepostfix
邮件服务关闭"
#2.关闭防火墙
systemctlstopfirewalld
systemctldisablefirewalld
防火墙已经关闭,并且不会随开机启动"
#.安装iptables
yuminstall-yiptablesiptables-services
iptables安装完毕"
systemctlstartiptables
systemctlenableiptables
systemctlstatusiptables
#3.关闭selinux
关闭selinux"
setenforce0
sed-i'
s/SELINUX=enforcing/SELINUX=disabled/g'
/etc/selinux/config
需要重启系统才能生效"
安装完毕
[root@localhost~]#systemctlstatusiptables.service
●iptables.service-IPv4firewallwithiptables
Loaded:
loaded(/usr/lib/systemd/system/iptables.service;
disabled;
vendorpreset:
disabled)
Active:
active(exited)since三2018-10-2409:
02:
00CST;
7sago
Process:
2913ExecStart=/usr/libexec/iptables/iptables.initstart(code=exited,status=0/SUCCESS)
MainPID:
2913(code=exited,status=0/SUCCESS)
10月2409:
00localhost.localdomainsystemd[1]:
StartingIPv4firewallwithiptables...
00localhost.localdomainiptables.init[2913]:
iptables:
Applyingfirewallrules:
[确定]
StartedIPv4firewallwithiptables.
[root@localhost~]#systemctlenableiptables
Createdsymlinkfrom/etc/systemd/system/basic.target.wants/iptables.serviceto/usr/lib/systemd/system/iptables.service.
2.2Mysql编译安装
(9)安装依赖
[root@localhost~]#yuminstall-ycmakemakegccgcc-c++bisonncursesncurses-devel
已安装:
cmake.x86_640:
2.8.12.2-2.el7ncurses-devel.x86_640:
5.9-14.20130511.el7_4
更新完毕:
bison.x86_640:
3.0.4-1.el7ncurses.x86_640:
作为依赖被升级:
ncurses-base.noarch0:
5.9-14.20130511.el7_4ncurses-libs.x86_640:
(10)添加用户和组
[root@localhost~]#groupaddmysql
[root@localhost~]#useradd-M-s/sbin/nologin-r-gmysqlmysql
(11)解压源码包
[root@localhost~]#tarxfmysql-boost-5.7.19.tar.gz-C/usr/local/src/
[root@localhost~]#cd/usr/local/src/mysql-5.7.19
(12)规划安装目录:
安装目录:
/var/lib/mysql
数据目录:
/var/lib/mysql/data
[root@localhostopt]#mkdir-p/var/lib/mysql/data
[root@localhost~]#chown-Rmysql:
mysql/var/lib/mysql
(13)编译安装:
[root@localhostmysql-5.7.19]#cmake-DCMAKE_INSTALL_PREFIX=/var/lib/mysql\
-DMYSQL_DATADIR=/var/lib/mysql/data\
-DSYSCONFDIR=/etc\
-DWITH_MYISAM_STORAGE_ENGINE=1\
-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_MEMORY_STORAGE_ENGINE=1\
-DWITH_READLINE=1\
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock\
-DMYSQL_TCP_PORT=3306\
-DENABLED_LOCAL_INFILE=1\
-DWITH_PARTITION_STORAGE_ENGINE=1\
-DEXTRA_CHARSETS=all\
-DDEFAULT_CHARSET=utf8\
-DDEFAULT_COLLATION=utf8_general_ci\
-DDOWNLOAD_BOOST=1\
-DWITH_BOOST=/usr/local/src/mysql-5.7.19/boost/boost_1_59_0
[root@localhostmysql-5.7.19]#make
[root@localhostmysql-5.7.19]#makeinstall
。
--Up-to-date:
/var/lib/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
--Installing:
/var/lib/mysql/mysql-test/lib/My/SafeProcess/Base.pm
/var/lib/mysql/support-files/mysqld_multi.server
/var/lib/mysql/support-files/mysql-log-rotate
/var/lib/mysql/support-files/magic
/var/lib/mysql/share/aclocal/mysql.m4
/var/lib/mysql/support-files/mysql.server
[root@localhostmysql-5.7.19]#
(14)编辑配置文件
[root@localhost~]#vim/etc/f
[mysqld]
basedir=/var/lib/mysql
datadir=/var/lib/mysql/data
port=3306
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld.pid
[mysql]
[client]
添加path路径,让系统能读到mysql的命令:
vim/etc/profile.d/mysql.sh
exportPATH=/var/lib/mysql/bin:
$PATH
使修改生效
source/etc/profile
(15)生成服务启动脚本
[root@localhost~]#cp/var/lib/mysql/support-files/mysql.server/etc/init.d/mysqld
[root@localhost~]#chmod+x/etc/init.d/mysqld
(16)修改权限:
(17)初始化数据库
[root@localhost~]#/var/lib/mysql/bin/mysqld--initialize-insecure--user=mysql--basedir=/var/lib/mysql--datadir=/var/lib/mysql/data
启动数据库
[root@localhostdata]#/etc/init.d/mysqldstart
StartingMySQL.SUCCESS!
(18)安全初始化
[root@localhostdata]#mysql_secure_installation
密码长度、root用户权限等安全配置,根据实际需求进行更改。
2.3Mysql主备+MHA基础部署
(19)所有mysql节点(221、222、223、240)首先安装依赖
[root@localhost~]#yum-yinstallperl-DBD-MySQLperl-Config-Tinyperl-Log-Dispatchperl-Parallel-ForkManager
作为依赖被安装:
perl-Class-Load.noarch0:
0.20-3.el7perl-Data-OptList.noarch0:
0.107-9.el7
perl-Email-Date-Format.noarch0:
1.002-15.el7perl-IO-Socket-IP.noarch0:
0.21-5.el7
perl-IO-Socket-SSL.noarch0:
1.94-7.el7perl-List-MoreUtils.x86_640:
0.33-9.el7
perl-MIME-Lite.noarch0:
3.030-1.el7perl-MIME-Types.noarch0:
1.38-2.el7
perl-Mail-Sender.noarch0:
0.8.23-1.el7perl-Mail-Sendmail.noarch0:
0.79-21.el7
perl-MailTools.noarch0:
2.12-2.el7perl-Module-Implementation.noarch0:
0.06-6.el7
perl-Module-Runtime.noarch0:
0.013-4.el7perl-Mozilla-CA.noarch0:
20130114-5.el7
perl-Net-LibIDN.x86_640:
0.12-15.el7perl-Net-SMTP-SSL.noarch0:
1.01-13.el7
perl-Net-SSLeay.x86_640:
1.55-6.el7perl-Package-DeprecationManager.noarch0:
0.13-7.el7
perl-Package-Stash.noarch0:
0.34-2.el7perl-Package-Stash-XS.x86_640:
0.26-3.el7
perl-Params-Util.x86_640:
1.07-6.el7perl-Params-Validate.x86_640:
1.08-4.el7
perl-Sub-Install.noarch0:
0.926-6.el7perl-Sys-Syslog.x86_640:
0.33-3.el7
perl-TimeDate.noarch1:
2.30-2.el7perl-Try-Tiny.noarch0:
0.12-2.el7
完毕!
(20)上传MHA相关包,在所有的节点安装mha-node:
[root@localhost~]#rpm-ivhmha4mysql-node-0.57-0.el7.noarch.rpm
准备中...#################################[100%]
正在升级/安装...
1:
mha4mysql-node-0.57-0.el7#################################[100%]
(21)MHAmanager节点安装首先安装依赖
[root@localhost]#yuminstallperl-DBD-MySQLperl-Config-Tinyperl-Log-Dispatchperl-Parallel-ForkManagerperl-Time-HiResperl-ExtUtils-CBuilderperl-ExtUtils-MakeMakerperl-CPAN-y
然后安装rpm-ivhmha4mysql-manager-0.57-0.el7.noarch.rpm,完成后
[root@localhostbin]#ll/usr/bin/mast*
-rwxr-xr-x1rootroot19955月312015/usr/bin/masterha_check_repl
-rwxr-xr-x1rootroot17795月312015/usr/bin/masterha_check_ssh
-rwxr-xr-x1rootroot18655月312015/usr/bin/masterha_check_status
-rwxr-xr-x1rootroot32015月312015/usr/bin/masterha_conf_host
-rwxr-xr-x1rootroot25175月312015/usr/bin/masterha_manager
-rwxr-xr-x1rootroot21655月312015/usr/bin/masterha_master_monitor
-rwxr-xr-x1rootroot23735月312015/usr/bin/masterha_master_switch
-rwxr-xr-x1rootroot51715月312015/usr/bin/masterha_secondary_check
-rwxr-xr-x1rootroot17395月312015/usr/bin/masterha_stop
(22)配置ssh免密码登录,ssh-keygen-trsamysql各节点进行如下操作
[root@localhost~]ssh-keygen-trsa,三个回车
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):
Createddirectory'
/root/.ssh'
.
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/root/.ssh/id_rsa.
Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.
Thekeyfingerprintis:
2b:
29:
ec:
1d:
53:
0a:
66:
3c:
5e:
a4:
0e:
2a:
e8:
ceroot@localhost.localdomain
Thekey'
srandomartimageis:
+--[RSA2048]----+
||
|.|
|o.S|
|.+++.|
|o.XB.|
|=.B=+|
|=E+.|
+-----------------+
221上执行[root@localhost~]#ssh-copy-id192.168.100.222(222、223、240)
各节点分别执行
[root@localhost~]#ssh-copy-id192.168.100.240
Theauthenticityofhost