LINUX运维学习之综合架构篇——架构搭建准备

2021-06-16 23:21:57 浏览数 (1)

1、综合架构组成说明

用户访问网站是使用HTTP协议80端口,查看80端口是否开启

代码语言:javascript复制
netstat -lntup|grep 80

web服务器:让用户访问需要公网IP地址,域名解析,当访问网站的用户较多,同时写入增多消耗IO,服务器磁盘压力,为了缓解压力,用户在网站的注册等某些字符串信息,那就存储到数据库服务器,图片视频附件等存储在存储服务器,不够用是也可以配置多台服务器

随着用户使用的增多,数据库,存储服务器可能损坏,就要有一个备份服务器,将数据库及存储服务器中的数据定时备份到备份服务器中,为了防止备份服务器损坏,要考虑多台备份服务器,尽量不要把备份服务器服务器放在同一个地方,用户不断增加,一个web服务器明显不够,就要增加多台web服务器,减缓第一台web服务器的压力。

为了防止黑客非法入侵,配置防火墙服务

所以这个小型架构用户访问时先访问到防火墙,再到负载均衡设备,再到相应web服务器,根据存储的内容,在分配到数据库或者存储服务器,为了防止负载均衡设备出问题也可以配置多台,叫高可用架构。用户先访问一台,一台出问题了再访问第二台,首先访问的叫主服务器,第二台叫备服务器

用户访问网站一般浏览网站比写入数据到网站的行为更多,为了让用户读的更快,加速读取数据,配置缓存服务器,将磁盘重点,热点数据存储到缓存服务器,再存储到内存中,用户就可以从缓存服务器读取数据,写入也可以,如果读取的数据没有,再根据访问的内容访问数据库服务器或者存储服务器,缓存也可以多台。

数据分析服务器可以把存储的数据调取过来分析,也可以分析日志,也是分为个小型架构,叫消息队列结构,前端收集数据,后端进行数据分析,将结果以图形的方式展示出来,用awk或者ELK进行数据分析

已经部署了很多设备,为了实现对架构更好的管理,可以配置监控服务器,如果有其他多个机房也可以配置多个监控服务器,叫代理监控服务器,一个主的监控服务器,master表示,这样可以对所有企业里的服务器做监控管理。

结构的服务器设备太多,需要管理这一堆架构,实现部署配置需要,在配置一个批量管理服务器,跟每台服务器建立联系。

对于用户的访问渠道有了,对于运维人员,走另一条路,为了保证安全性,配置VPN服务器,让只有内部的人可以连接进入,类似于一个特殊通道,需要用户名密码验证,通过后就可以连接访问管理任意一台服务器。

为了防止内部人员做出破坏性行为,为内部人员访问做出监管,配置跳板机服务器,VPN,跳板机,批量管理,监控等服务器叫做网站运维人员管理网站的架构,通过这个架构,可以更好地方便对网站庞大的服务器监控管理,以及出现问题了可以记录用户的操作行为。 以上就完成了一个中小规模的完整企业架构。

2、综合架构规划

主机名称

IP地址规划

需要的软件

防火墙服务器(firewalld)

10.0.0.81(外网)

172.16.1.81(内网)

负载均衡服务器(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

数据库(db01)

10.0.0.51(外网)

172.16.1.51(内网)

MySQL

存储服务器(nfs01)

10.0.0.31(外网)

172.16.1.31(内网)

nfs

备份服务器(backup)

10.0.0.41(外网)

172.16.1.41(内网)

rsync

批量管理服务器(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

由于资源有限,只能用虚拟机进行模拟测试

1、优化配置模板主机

进行网卡配置

之前模板主机第一张网卡IP地址为10.0.0.200

所以在添加一张网卡,IP地址为171.16.1.200

a、添加网卡

b、配置网卡

代码语言:javascript复制
vim /etc/sysconfig/network-scripts/ifcfg-eth1
或者输入 nmtui   图形化界面配置网卡

2、系统优化过程

1)模板机优化配置——hosts 文件配置

代码语言:javascript复制
先备份一下hosts文件
cp /etc/hosts{.bak}
cat >/etc/hosts<<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6172.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.51     db01 db01.etiantian.org
172.16.1.31     nfs01
172.16.1.41     backup
172.16.1.61     m01
172.16.1.71     jumpserver
172.16.1.72     zabbixEOF

2)模板机优化配置——跟新yum源

更改yum源

代码语言:javascript复制
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup && curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

yum install -y wget

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3)模板机优化配置——关闭selinux

代码语言:javascript复制
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
grep SELINUX=disabled /etc/selinux/config

4) 模板机优化配置——关闭iptables

代码语言:javascript复制
systemctl stop firewalld
systemctl disable firewalld
systemctl ststus firewalld

5) 模板机优化配置——普通用户oldboy可以使用sudo

代码语言:javascript复制
useradd oldboy
echo 123456|passwd --stain oldboy
echo "oldboy ALL=(ALL) NOPASSWD: ALL ">>/etc/sudoers
tail -1 /etc/sudoers
visudo -c

6) 模板机优化配置——英文字符集

代码语言:javascript复制
先查看一下
echo $LANG
修改 
localectl set-locale LANG="en_US.UTF-8"
重启
reboot
echo $LANG

7) 模板机优化配置——时间同步

代码语言:javascript复制
下载软件
yum install -y ntpdate   
echo '#time sync by lidao at 2020-12-03' >>/var/spool/cron/root  添加注释
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root 每隔五分钟同步一次
crontab -l   查看

8) 模板机优化配置——加大文件描述

代码语言:javascript复制
yum install -y lsoflsof -i:22   
echo '*             -           nofile            1024' >>/etc/security/limits.conf 
source /etc/security/limits.conf 

说明:一个服务进程运行起来,会打开相应的文件

9) 模板机优化配置——安装其他小软件

代码语言:javascript复制
yum install lrzsz nmap tree dos2unix nc telnet bash-completion bash-completion-extras -y

当然以上命令,也可以写成一个脚本,方法有很多,这里就不介绍了,可自行百度。

0 人点赞