00.课程介绍部分
1.LNMP架构如何进行数据库迁移
2.LNMP架构如何实现数据共享存储
3.LNMP架构域名更换方法
4.负载均衡服务概念介绍
a 集群概念
b 负载概念
c 反向代理/正向代理
d 负载均衡部署过程
5.负载均衡部署过程
6.实现负载均衡模块的详述
upstream 模块: 负载均衡
proxy 模块: 反向代理
01.课程知识回顾
1.LNMP架构说明
LNMP:linux nginx mysql php
作用:可以使用架构处理动态访问请求
2.LNMP架构部署过程
linux: selinux关闭 iptables关闭 /tmp目录权限1777
nginx: yum官方源安装
mysql: yum install mariadb-server mariadb -y
启动数据库且永久重启
php:作用:解析动态请求
更新yum源后 安装
修改php服务进程与nginx中worker进程的用户一致
vim /etc/php-fpm.d/www.conf
user=
group=
3.LNMP架构配置过程
1.建立nginx-php通讯过程
编辑nginx配置文件
2.建立php-mariadb连续
编辑代码信息
4.部署搭建动态网站页面
1.下载获取动态网站代码信息
2.代码上传(压缩包解压)/修改代码文件权限(站点目录更改属主/属组)
3.创建数据库信息 create database xxxxxx;
4.创建管理数据库的用户信息
grant all on xxxxx.* to 'xxxx'@'location' identified by '密码信息';
检查用户信息
select user,host from mysql.user;
02.实现数据库数据迁移操作
第一步:web服务器上数据进行备份操作
mysqldump -uroot -p123456 -A > /tmp/mysql_bak.sql
第二步:将数据进行传输到数据库服务器上
rsync -avz /tmp/mysql_bak.sql 172.16.1.51:/tmp
第三步:将备份的数据进行还原
mysql -uroot -p123456 </tmp/mysql_bak.sql
第四步:修改web服务器连接数据库地址信息
grant all on wordpress.* to 'wordpress'@'172.16.1.%' identified by '123456'
vim /html/blog/wordpress/wp-config.php
define('DB_HOST','172.16.1.51');
PS: 问题: 数据做了全量备份,也进行了恢复,为什么恢复后root用户不用输入密码
系统文件也会保留数据root登录密码信息
03.实现网站数据共享存储
第一步:找到web服务代码信息中存储数据的目录
wordpress /html/blog/wp-content/uploads
第二步:将web服务器上保存的用户数据移动到/tmp
mkdir /tmp/wordpress_bak
mv /html/blog/wordpress/wp-content/uploads/* /tmp/wordpress_bak
第三步:进行挂载操作
mount -t nfs 172.16.1.31:/data/blog /html/blog/wp-content/uploads/
第四步:将备份的用户数据进行还原
mv /tmp/wordpress_bak /html/blog/wordpress/wp-content/uploads/
数据库服务dns反向解析问题处理: 修改my.cnf
[mysqld]
skip-name-resolve
04.动态网站页面修改域名信息
第一步:修改nginx配置文件信息
server_name blog.oldboy.com blog.oldgirl.com
第二步:修改代码或数据库信息
第三步:编写DNS域名解析
第四步:重启nginx服务
05.负载均衡服务概念
负载作用:
1.对用户访问请求进行调度处理
2.减少web服务器访问压力
负载实现:
硬件方式实现:F5 A10 (厂商培训)
软件方式实现:
nginx : 利用网络4层或7层功能实现负载均衡
Lvs : 利用网络4层功能负载均衡
haproxy: 利用网络4层或7层功能实现负载均衡(功能配置更强大/网站页面图形界面)
集群:多台服务器完成相同的工作(提高网站架构并发处理能力/架构伸缩性更高/架构冗余能力强/架构成本降低)
1.部署软件程序相同
2.部署软件配置相同
3.部署网站代码相同
反向代理: 可以让外网用户 -- 访问 -- 内网主机服务器
外网用户访问 -- nginx(反向代理) -- 发送给内网web服务器
正向代理: 可以让内网主机 -- 访问 -- 外网主机服务器
内网用户访问 -- 代理服务器(正向) --国外网站服务器
06.负载均衡部署配置过程:
第一步:编写配置web集群服务器
www.conf
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html;
}
}
rsync或scp推送到另外两个web服务器中,要保证配置文件相同
第二步:编写站点目录测试文件
web01:
echo web01 >/html/www/index.html
web02:
echo web02 >/html/www/index.html
web03:
echo web03 >/html/www/index.html
第三步:进行访问测试
curl -H host:www.oldboy.com 10.0.0.7
web01
curl -H host:www.oldboy.com 10.0.0.8
web02
curl -H host:www.oldboy.com 10.0.0.9
web03
第四步:部署负载均衡服务
在lb01服务器中使用yum源安装nginx
# vim /etc/nginx/nginx.conf
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;
}
}
proxy_set_header Host $http_host;
运用变量将host传到upstream的ip后面
upstream 设置负载均衡(需要在http模块中)
proxy 设置反向代理(需要在location模块中)
07. 课程知识总结说明
1) LNMP架构数据库迁移过程 (三步: 备份 迁移 恢复)
2) LNMP架构数据实现共享存储 (三步: 备份 挂载 恢复 测试)
3) LNMP架构网站更换域名 (三点: nginx服务域名信息更换 DNS服务域名解析配置 程序代码/数据库 )
4) 负载均衡概念知识 作用 实现方式 名词解释(集群 反向代理 正向代理)
5) 负载均衡部署过程 负载模块 upstream 代理模块 proxy