前序文章: https://blog.csdn.net/shengweiit/article/details/135160979
网站架构演变
单机版LNMP
用户量少时使用,简单,成本低
但是存在单点故障
独立数据库服务器
独立数据库服务器是将网站静态文件、代码文件等资料与数据库分离的架构,当用户量增加时单机的处理能力有限,数据库的增删改需要大量的内存资源,将两者分离可以减轻服务器的压力。
web服务器集群与Session保持
可以通过Nginx、Haproxy代理服务器实现Web负载均衡集群,也可以使用LVS调度器实现Web负载均衡集群。部署完Web集群后还需要考虑如何进行Session会话保持,方法很多,如:根据源IP保持,代理服务器重写Cookie信息,共享文件系统保存session,使用数据库共享session等等。
对于网站内容而言可以分离为动态页面和静态页面,静态页面就需要数据文件,动态页面则需要CPU解析代码,需要消耗大量的CPU资源,因此可以将静态和动态分离为两组服务器,动态页面有脚本代码组成,是一种基于网页的应用程序,因此这一组服务器也称为应用服务器
LNP与数据库分离
首先要关掉防火墙和SELinux
[root@database ~]# firewall-cmd --set-default-zone=trusted
[root@database ~]# setenforce 0
[root@database ~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
1. 准备一台独立的服务器,安装数据库软件包
[root@database ~]# yum -y install mariadb mariadb-server mariadb-devel
[root@database ~]# systemctl start mariadb
[root@database ~]# systemctl enable mariadb
2. 将之前的LNMP网站中的数据库迁移到新的数据库服务器
登陆192.168.2.11主机 备份数据库并拷贝给新的服务器,关闭旧的数据库服务
#备份数据库到文件(备份的文件名和扩展名任意)
[root@centos7 ~]# mysqldump wordpress > wordpress.bak
[root@centos7 ~]# scp wordpress.bak 192.168.2.21:/root/ # 拷贝文件到远程主机
[root@centos7 ~]# systemctl stop mariadb
[root@centos7 ~]# systemctl disable mariadb
登陆192.168.2.21主机 创建空数据库 使用备份文件还原数据库
[root@database ~]# mysql
MariaDB [(none)]> create database wordpress character set utf8mb4;
#创建数据库wordpress,该数据库支持中文
MariaDB [(none)]> exit
#使用备份文件导入数据到wordpress数据库
[root@database ~]# mysql wordpress < wordpress.bak
并在192.168.2.21创建账户并授权访问
[root@database ~]# mysql
MariaDB [(none)]> grant all on wordpress.* to wordpress@'%' identified by 'wordpress';
#语法格式:grant 权限 on 数据库名.表名 to 用户名@客户端主机 identified by 密码
#创建用户并授权,用户名为wordpress,该用户对wordpress数据库下的所有表有所有权限
#wordpress用户的密码是wordpress,授权该用户可以从localhost主机登录数据库服务器
#all代表所有权限(wordpress用户可以对wordpress数据库中所有表有所有权限)
#wordpress.*代表wordpress数据库中的所有表
MariaDB [(none)]