一、实现数据库数据迁移操作
第一个历程: web服务器上数据进行备份操作
mysqldump -uroot -poldboy123 -A > /tmp/mysql_bak.sql
第二个历程: 将数据进行传输到数据库服务器上
rsync -avz /tmp/mysql_bak.sql 172.16.1.51:/tmp
第三个历程: 将备份的数据进行还原(在进行数据还原时,虽然会将数据库的用户和密码一同还原,但是在数据库的库表中,不是所有的库都设有密码,故在还原中直接还原即可)
mysql < /tmp/mysql_bak.sql
第四个历程: 修改web服务器连接数据库地址信息
grant all on wordpress.* to 'wordpress(用户名)'@'172.16.1.%(授权的网址信息)' identified by '123456(密码)';
vim /html/blog/wp-config.php
define('DB_HOST', '172.16.1.51');
PS:授权的地址信息是什么网段,配置文件中的地址信息必须是在该网段下的ip地址
二、实现网站数据共享存储
第一个历程: 找到web服务代码信息中存储数据的目录
wordpress: /usr/share/nginx/html/blog/wp-content/uploads
ps:根据不同的开源代码所存储的路径信息也各不相同
第二个历程: 将web服务器上保存的用户数据移动到/tmp
mkdir /tmp/wordpress_bak
mv /usr/share/nginx/html/blog/wp-content/uploads/* /tmp/wordpress_bak
第三个历程: 进行挂载操作
mount -t nfs 172.16.1.31:/data/blog /usr/share/nginx/html/blog/wp-content/uploads
第四个历程: 将备份的用户数据进行还原
mv /tmp/wordpress_bak/* /usr/share/nginx/html/blog/wp-content/uploads
注意事项:
1.进行挂载前,确定挂载确定挂载目录是否存在,若不存在创建挂载目录,如:mkdir /data/blog
2.编辑nfs服务器配置文件,且保持默认参数(挂载前),如:
vim /etc/exports
/data/blog 172.16.1.0/24(rw,sync)
systemctl restart nfs
3.设置挂载目录属主属组与nginx/php服务属主属组保持一致且,uid信息一致,且为虚拟用户
4.在还原过程中会出现权限阻止的相关报错,此时需要做root 映射,如:
vim /etc/exports
/data/blog 172.16.1.0/24(rw,sync,no_root_squash)
5.数据库服务dns反向解析问题处理: 修改my.cnf
[mysqld]
skip-name-resolve
三、 动态网站页面修改域名信息
第一个历程: 修改nginx配置文件信息
server_name blog.oldboy.com blog.oldgirl.com;
第二个历程: 修改代码或数据库信息
并保存退出
第三个历程: 编写DNS域名解析信息
本地hosts解析,且与第一历程一样,保留原域名
第四个历程: 重启nginx程序服务
systemctl restart nginx
四、负载均衡服务概念
负载作用:
- 对用户访问请求进行调度处理
- 减少web服务器访问压力
负载实现:
硬件方式实现: F5 A10 (厂商培训)
软件方式实现:
nginx: 利用网络4层或7层功能实现负载均衡
Lvs: 利用网络4层功能负载均衡
haproxy: 利用网络4层或7层功能实现负载均衡 (功能配置更强大/网站页面图形界面且健康检查)
名词概念
集群: 多台服务器完成相同工作 (提高网站架构并发处理能力/架构伸缩性更高/架构冗余能力强/架构成本降低)
- 部署软件程序相同
- 部署软件配置相同
- 部署网站代码相同
反向代理: 可以让外网用户 --访问-- 内网主机服务器
过程:外网用户访问 -- nginx(反向代理) --- 发送给内网web服务器
正向代理: 可以让内网主机 --访问-- 外网主机服务器
过程:内网用户方法 -- 代理服务器(正向代理) --- 国外网站服务器
五、负载均衡部署配置过程:
第一个历程: 编写配置web集群服务器
www.conf
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html;
}
}
rsync -avz /etc/nginx/conf.d/www.conf 172.16.1.7:/etc/nginx/conf.d/
rsync -avz /etc/nginx/conf.d/www.conf 172.16.1.9:/etc/nginx/conf.d/
第二个历程: 编写站点目录测试文件
web01:
echo web01.oldboy.com >/html/www/oldboy.html
web02:
echo web02.oldboy.com >/html/www/oldboy.html
web03:
echo web03.oldboy.com >/html/www/oldboy.html
第三个历程: 进行访问测试
curl -H host:www.oldboy.com 10.0.0.7/oldboy.html
web01.oldboy.com
curl -H host:www.oldboy.com 10.0.0.8/oldboy.html
web02.oldboy.com
curl -H host:www.oldboy.com 10.0.0.9/oldboy.html
web03.oldboy.com
第四个历程: 部署负载均衡服务
更新yum源
yum install -y nginx
vim /etc/nginx/nginx.conf
upstream 设置负载均衡
upstream oldboy {
server 10.0.0.7:80;
server 10.0.0.8:80;
server 10.0.0.9:80;
}
proxy 设置反向代理
proxy_pass http://oldboy;
实际配置
upstream oldboy {
server 10.0.0.7:80;
server 10.0.0.8:80;
server 10.0.0.9:80;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://oldboy;
}
}
nginx -t
systemctl restart nginx
第五个里程:本地hosts解析
10.0.0.5 wwwoldboy.com