------------恢复内容开始------------
00 课程介绍部分
整体课程介绍:
1)备份服务
2)存储服务
3)实时同步服务
4)批量管理服务
5)网站服务(web服务)
6)LNMP网站架构
7)负载均衡反向代理服务
8)高可用服务
9)监控服务
10)跳板机服务
11)防火墙服务
今日课程内容:
1.架构介绍
2.架构规划
网络的规划
主机名称规划
3.系统优化
字符集优化
安全优化(防火墙 selinux)
远程连接优化
命令提示符优化
yum源优化
4.进行虚拟主机克隆操作
01 中小规模网站架构组成
1.中小规模网站架构组成
1.顾客 ---- 用户
访问网站的人员
2.保安 ---- 防火墙(firewalld)
进行访问控制策略(对访问的人员及流量进行访问控制)
3.迎宾 ---- 负载均衡服务器(nginx)
对用户的访问请求进行调度处理(利用外网交换机将用户请求合理分配给各web服务器)
4.服务员 ---- web服务器(nginx)
负责处理用户的请求(利用内网交换机将请求反送给对应的服务器)
5.厨师 ---- 数据库服务器(mysql)
存储字符数据(例如购物网站的订单信息,及商品价格对应关系等等)
6.厨师 ---- 存储服务器(nfs)
存储图片,音频,视频,附件等数据信息
7.厨师 ---- 备份服务器(rsync+crond:定时备份 rsync+sersync:实时备份)
将网站内所有服务器中的重要内容进行备份存储
8.厨师 ---- 缓存服务器(memcache redis MongoDB)
对于一些常用的数据,放到内存中会提高数据读取效率
01.将数据信息存储到内存中
02.减缓服务器的压力
9.经理 ---- 批量管理服务器(ansible)
批量管理多台服务器主机
2.部署网站架构
1).需要解决网站架构单点问题(重要服务器节点冗余能力)
负载均衡服务器: 利用高可用服务(Keepalived)---多台服务器之间通过Keepalived服务自行协商主备,当主宕机,则备用及时切换到业务环境中,保证业务高可用
数据库服务器: 利用高可用服务(mha)---利用mha服务实现多台服务器相互冗余
存储服务器: 利用高可用服务(Keepalived)---同负载均衡相同
备份服务器: 1.利用开源软件实现数据备份 rsync
2.利用企业网盘进行数据备份 七牛云
3.利用自建备份存储架构 两地三中心--实现异地备份数据,使重要数据不丢失
缓存服务器: 利用高可用服务( )---缓存服务集群/哨兵模式
2).内部员工如何远程访问架构
部署搭建VPN服务器 pptp VPN L2TP VPN
https://blog.oldboyedu.com/pptp-l2tp/
3).内部员工操作管理服务器要进行审计
跳板机服务器 jumpserver ---对员工管理操作架构服务器时所进行一些行为及操作进行记录,防治误操作
https://www.jumpserver.org/
4).架构中服务器出现问题需要进行提前报警告知
部署监控服务器 zabbix
https://www.zabbix.com/documentation/4.0/zh/manual
02 综合架构规划
规划主机名称和IP地址
01.防火墙服务器 firewalld 10.0.0.81(外网地址) 172.16.1.81(内网地址) 软件:firewalld
02.负载均衡服务器 lb01 10.0.0.5 172.16.1.5 软件:nginx Keepalived
03.负载均衡服务器 lb02 10.0.0.6 172.16.1.6 软件:nginx Keepalived
04.web服务器 web01 10.0.0.7 172.16.1.7 软件:nginx
05.web服务器 web02 10.0.0.8 172.16.1.8 软件:nginx
06.web服务器 web03 10.0.0.9 172.16.1.9 软件:nginx
07.数据库服务器 db01 10.0.0.51 172.16.1.51 软件:mysql(慢) mariaDB
08.存储服务器 nfs01 10.0.0.31 172.16.1.31 软件:nfs
09.备份服务器 backup 10.0.0.41 172.16.1.41 软件:rsync
11.批量管理服务器 m01 10.0.0.61 172.16.1.61 软件:ansible
12.跳板机服务器 jumpserver 10.0.0.71(61) 172.16.1.71 软件:jumpserver
13.监控服务器 zabbix 10.0.0.72(61) 172.16.1.72 软件:zabbix
10.缓存服务器
03 优化配置模板主机
1)进行网络配置
01.添加网卡
1.添加网络适配器
2.添加全局LAN区段 172.16.1.0/24
3.为新添加的网卡选择LAN区段,完成后确定即可,网卡添加完成
02.配置网卡
方法一:vim /etc/sysconfig/network-scripts/ifcfg-eth1
方法二:nmtui
03.确认网络配置
2)系统优化过程
1.模板机优化配置 --- hosts文件配置
配置hosts文件,建立IP地址和主机名称之间的对应关系(注意:修改文件之前需对文件进行备份操作)
1.备份文件
利用{.bak}快速备份文件
2.编写hosts配置文件
cat >/etc/hosts<<EOF 建立地址与主机名的映射关系
2.模板机优化配置 --- 更改yum源
1.备份原yum配置文件,以便恢复
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup &&\
2.更改基础yum源配置(此配置命令源自阿里开源镜像站)
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
此命令意为将本地yum基础源仓库变更为阿里基础yum源仓库
3.更改扩展yum源配置(此命令配置源自阿里开源镜像站)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
注意wget命令不是系统自带命令,需下载 yum install -y wget
4.查看系统中yum源库
yum repolist 优化完成
3.模板机优化配置 --- 关闭selinux
系统中root用户的权限很大,几乎可以干任何事,selinux就是为了控制root用户的权限,增加系统的安全性,但selinux也有可能影响后期一些服务的运行,所以需要关闭
方法一: vim /etc/selinux/comfig 重启配置生效
getenforce 查看selinux服务状态
方法二:用命令修改
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
getenforce 查看selinux服务状态
setenforce 0 1 修改服务状态 Enforcing(强制执行) 等价于 1 ------ 服务开启状态 Permissive(许可的) 等价于 0 ------ 服务关闭状态
4.模板机优化配置 --- 关闭防火墙
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 开机自动关闭防火墙
systemctl status firewalld 查看防火墙状态
5.模板机优化配置 --- 提权oldboy可以sudo
useradd oldboy 创建用户
echo 123456|passwd --stdin oldboy 给用户配置密码
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
6.模板机优化配置 --- 英文字符集
echo $LANG 查看系统字符集
localctl set-locale LANG="en_US.UTF-8" 永久修改系统字符集
7.模板机优化配置 --- 时间同步
1.安装时间同步命令 ntpdate
yum install -y ntpdate
2.编写定时任务,使时间自动同步
方法一: 命令编写 crontab -e
crontab -l
方法二:直接编写
echo '#time sync by lidao at 2017-03-08' >>/var/spool/cron/root 将注释内容追加到文件中
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root 将定时任务追加到文件中
crontab -l == cat /var/spoolcron/root
8.模板机优化配置 --- 加大文件描述(优化打开文件数)
说明:一个服务程序运行起来,会打开相应的文件
例如: crond定时任务 -----systemctl start crond 运行定时服务时系统会相应的打开一些文件,会打开配置文件,运行定时任务,也会开启日志文件,记录响应的日志信息
/var/spool/cron/root --- 加载打开配置文件
/var/log/cron --- 加载打开日志文件
系统中每一个进程对应一个服务,每个服务都会打开一些文件 ps -ef |wc -l 查看进程数
利用命令lsof(list system open file)可以查看每个进程所开启的文件数
lsof -i:端口号 利用-i 查看服务打开了几个文件
上述由于优化了远程登录端口,所有sshd远程服务的端口变更为52113
查看系统默认容许打开文件数 ulimit -a
由于后期进程会不断增加,默认打开文件数显然远远不够,所以我们需要修改默认值,让他变大
方法一:vim //etc/security/limits.conf
方法二: echo '* - nofile 65536' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
source /etc/security/limits.conf
9.模板机优化配置 --- 安装其他小软件
yum install lrzsz(从windows主机中上传下载文件) nmap(扫描端口) tree dos2unix(编写脚本) nc telnet wget lsof ntpdate bash-completion(命令补齐) bash-completion-extras -y
利用rpm -qa 查看文件是否安装 有返回结果即为安装,无返回结果即为未安装
安装软件
10.模板机优化配置 --- ssh连接速度慢优化
sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
systemctl restart sshd
04 进行模板主机克隆操作
1.进行模板主机快照拍摄
虚拟机特有功能,记录系统当前配置情况,以便后期进行还原
2.进行虚拟主机克隆
1.创建链接克隆(学习环境)
优势: 节省物理主机资源(链接主机不会占用太多资源)
克隆主机效率快
劣势: 模板主机删除,链接主机也会失效
2.创建完整克隆(企业应用)
优势: 模板主机删除,克隆主机依然可以使用
劣势: 比较消耗物理主机资源(完整主机跟被克隆主机资源一样)
克隆主机效率低
3.克隆后虚拟主机配置
1.修改主机名称
hostnamectl set-hostname backup
2.修改主机地址
1.克隆主机地址无法正常显示解决办法
虚拟机开启后查看网卡配置发现克隆后的主机eth1没有IP地址,查看源主机ip地址信息齐全
重启网络服务会报错,查看网络服务状态,网络服务状态错误
由于eth1的网卡配置文件是从模板主机中克隆过来的,所以还是模板机的mac地址,与系统中的mac地址不一致导致系统网络配置不正常
修改eth1的网卡配置mac地址与系统一致
修改完成查看网络服务
地址正常显示
2.修改主机地址
01.根据主机地址规律我们只需将网卡地址中200更换为41即可
sed -i 's/200/41/g' /etc/sysconfig/network-script/ifcfg-eth[01]
02.grep 确认更换信息
grep 41 /etc/sysconfig/network-script/ifcfg-eth[01]
03 目前系统中不需要UUID的信息,我们需要删除
sed -i '/UUID/d' /etc/sysconfig/network-script/ifcfg-eth[01]
04 确认UUID信息被删除
grep UUID /etc/sysconfig/network-script/ifcfg-eth[01]
05 重启网络服务
systemctl restart network
05 备份服务器说明
06 什么是rsync服务
07 rsync软件使用方法
08 rsync命令语法格式
09 rsync服务部署安装过程
10 课程总结
------------恢复内容结束------------