中小规模网站架构组成
- 用户 访问网站的人员
- 防火墙 (firewalld) 进行访问策略控制
- 负载均衡服务器 (nginx) 对用户的访问请求进行调度处理
- web服务器 (nginx) 处理用户的请求
- 数据库服务器 (mysql) 存储的字符数据
- 存储服务器 (nfs) 存储图片 音频 视频 附件等数据信息
- 备份服务器 (rsync+crond-定时备份 rsync+sersync--实时备份) 存储网站所有服务器的重要数据
- 缓存服务器 (memcache redis mongodb) 将数据信息存储到内存中 减缓服务器的压力
- 批量管理服务器 (ansible) 批量管理多台服务器主机
部署网站架构
- 需要解决网站架构单点问题
- 负载均衡: 高可用服务---keepalived
- 数据库: 高可用服务---mha
- 存储服务: 高可用服务---keepalived,分布式存储
- 缓存服务: 高可用服务--- 缓存服务集群/哨兵模式
- 内部员工如何远程访问架构
- 内部员工操作管理架构服务器要进行审计
- 架构中服务器出现问题需要进行提前报警告知
- 部署监控服务器 zabbix
公司的数据是如何备份(面试题)
- 利用开源软件实现数据备份 rsync(免费)
- 利用企业网盘进行数据备份 对象存储 腾讯云cos 阿里云oss
- 利用自建备份存储架构 两地三中心
综合架构规划
主机名称和IP地址规划
服务 | 主机名 | eth0网卡IP | eth1网卡IP | 软件 |
---|---|---|---|---|
防火墙服务器 | firewalld | 10.0.0.81 | 172.16.1.81 | firewalld |
负载均衡服务器 | lb01 | 10.0.0.5 | 172.16.1.5 | nginx,keepalived |
负载均衡服务器 | lb02 | 10.0.0.6 | 172.16.1.6 | nginx,keepalived |
web服务器 | web01 | 10.0.0.7 | 172.16.1.7 | nginx |
web服务器 | web02 | 10.0.0.8 | 172.16.1.8 | nginx |
web服务器 | web03 | 10.0.0.9 | 172.16.1.9 | nginx |
存储服务器 | nfs01 | 10.0.0.31 | 172.16.1.31 | nfs |
备份服务器 | backup | 10.0.0.41 | 172.16.1.41 | rsync |
数据库服务器 | db01 | 10.0.0.51 | 172.16.1.51 | mysql,mariaDB |
批量管理服务器 | m01 | 10.0.0.61 | 172.16.1.61 | ansible |
跳板机服务器 | jumpserver | 10.0.0.71 | 172.16.1.71 | jumpserver |
监控服务器 | zabbix | 10.0.0.72 | 172.16.1.72 | zabbix |
缓存服务器 | 暂无 | 暂无 | 暂无 | 暂无 |
模板机优化配置
进行网络配置
添加网卡
nmtui配置网卡并查看
配置hosts
文件
#cat /etc/hosts
172.16.1.81 firewalld
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01
172.16.1.61 m01
172.16.1.71 jumpserver
172.16.1.72 zabbix
更改yum源
#备份原来的yum源
mv /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 http://mirrors.aliyun.com/repo/Centos-7.repo
#安装wget后再使用下一条命令
yum install -y wget
#使用阿里的epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
关闭selinux
#使用sed命令查看替换后结果
sed 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#查看后再修改配置文件信息
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#使用grep确认
grep SELINUX=disabled /etc/selinux/config
#关闭当前的selinux服务
setenforce 0
#确认selinux服务是否关闭
getenforce
关闭firewalld
#关闭防火墙
systemctl stop firewalld
#开机不启动防火墙
systemctl disable firewalld
#确认防火墙是否关闭
systemctl status firewalld
设置英文字符集
#英文字符集
localectl set-locale LANG="en_US.UTF-8"
时间同步
#安装ntpdate服务
yum install -y ntpdate
#添加定时任务
echo '#time sync by 1997sty at 2019-12-05' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
#查看定时任务
crontab -l
加大文件描述
程序运行时,需要打开相应的文件,如果同时打开文件数超过该值,就会造成程序运行错误
#添加该配置
echo '* - nofile 65536' >>/etc/security/limits.conf
#查看配置是否成功
tail -1 /etc/security/limits.conf
#重新登录后可以使用改命令查看open files的数量
ulimit -a
使用该命令查看22端口使用文件情况
lsof -i:22
其他软件安装
yum install lrzsz nmap tree dos2unix nc telnet wget lsof ntpdate bash-completion bash-completion-extras -y
ssh连接速度慢优化
#查看修改情况
sed 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
#执行修改
sed -i 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
#重启sshd服务
systemctl restart sshd
模板主机克隆
- 进行模板机快照拍摄
- 进行虚拟主机克隆
创建链接克隆
- 优势: 节省物理主机资源 克隆主机效率快
- 劣势: 模板主机删除,链接主机也会失效
创建完整克隆
- 优势: 模板主机删除,克隆主机依然可以使用
- 劣势: 比较消耗物理主机资源 克隆主机效率低
- 克隆后虚拟主机配置
- 修改主机名称
#备份服务器修改主机名backup
hostnamectl set-hostname backup
- 修改主机地址
#备份服务器修改地址为41
sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
#修改后查看确认
grep 41 /etc/sysconfig/network-scripts/ifcfg-eth[01]
#删除UUID
sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]
#修改后查看确认
grep UUID /etc/sysconfig/network-scripts/ifcfg-eth[01]
#重启网卡
systemctl restart network
- 克隆的主机网卡地址相同,所以不能同时启动
- 克隆主机无法远程连接解决方法一:利用ping方式测试
- 克隆主机无法远程连接解决方法一:关闭xshell软件重新打开
备份服务器说明
作用
- 数据备份的服务器
- 进行日志统一保存
什么是rsync服务
Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具
- 下载安装软件(yum)
- 编写配置文件
- 搭建服务环境(备份的目录/目录权限)
- 启动服务程序(开机自动启动)
- 测试服务功能
rsync
命令
本地备份数据
- 语法格式 :
rsync [OPTION...] SRC... [DEST]
- SRC : 要备份的数据信息
- DEST : 备份到什么路径中
#cp命令
cp /root/1997sty /root/1997sty.bak
#rsync命令 效果和cp命令一样
cp /root/1997sty /root/1997sty.bak
远程备份数据
拉取数据备份语法格式 :
rsync [OPTION...] [USER@]HOST:SRC... [DEST]
- OPTION : 设置参数
- USER : 登录的用户
- HOST : 指定远程主机IP地址或者主机名称
- SRC : 要拉取的数据信息
- DEST : 保存到本地的路径信息
推送数据备份语法格式 :
rsync [OPTION...] SRC... [USER@]HOST:DEST
- OPTION : 设置参数
- SRC : 要推送的数据信息
- USER : 登录的用户
- HOST : 指定远程主机IP地址或者主机名称
- DEST : 保存到远程的路径信息
设置参数
- -r : 递归复制传输数据
- -p : 保持文件属性信息不变
- 备份文件
#scp命令
scp -rp /root/1997sty root@172.16.1.41:/root/1997sty
#rsync命令 效果和scp命令一样
rsync -rp /root/1997sty root@172.16.1.41:/root/1997sty
- 备份目录及文件
#scp命令
scp -rp /1997stydir root@172.16.1.41:/backup
#rsync命令 效果和scp命令一样
rsync -rp /1997stydir root@172.16.1.41:/backup
- 备份目录中的文件(区别在于路径后面的
/
)
#scp命令
scp -rp /1997stydir/ root@172.16.1.41:/backup
#rsync命令 效果和scp命令一样
rsync -rp /1997stydir/ root@172.16.1.41:/backup
无差异同步
- --delete : 实现无差异同步数据
#删除目录下所有文件
rm -rf /backup/*
#dir为空目录,同步目录到/backup目录,相当于删除
rsync -rp --delete /dir/ root@172.16.1.41:/backup
查看文件
#ls命令
ls /root/1997sty
#rsync命令
rsync /root/1997sty
最后一次更新于2020-01-10 21:29
0 条评论