中小规模网站架构组成
1)用户访问网站的人员
2) 防火墙 (firewalld)进行访问策略控制
3) 负载均衡服务器 (nginx)对用户的访问请求进行调度处理
4) web服务器 (nginx)处理用户的请求
5) 数据库服务器 (mysql)存储的字符数据
6) 存储服务器 (nfs)存储图片 音频 视频 附件等数据信息
7)备份服务器 (rsync+crond-定时备份 rsync+sersync--实时备份)存储网站所有服务器的重要数据
8) 缓存服务器 (memcache redis mongodb) a 将数据信息存储到内存中b 减缓服务器的压力
9) 批量管理服务器 (ansible)批量管理多台服务器主机
部署网站架构
1) 需要解决网站架构单点问题前端: 高可用服务---keepalived数据库: 高可用服务---mha存储服务: 高可用服务---keepalived实现高可用服务---分布式存储备份服务: 公司的数据是如何备份1) 利用开源软件实现数据备份 rsync(免费)2) 利用企业网盘进行数据备份 七牛云存储3) 利用自建备份存储架构 两地三中心 缓存服务: 高可用服务--- 缓存服务集群/哨兵模式
2) 内部员工如何远程访问架构部署搭建VPN服务器 PPTP vpnhttps://blog.oldboyedu.com/pptp-l2tp/
3) 内部员工操作管理架构服务器要进行审计跳板机服务器 jumpserverhttps://jumpserver.readthedocs.io/zh/docs/setup_by_centos.html
4) 架构中服务器出现问题需要进行提前报警告知部署监控服务器 zabbix
综合架构规划
主机名称和IP地址规划
01. 防火墙服务器 firewalld (外网地址) (内外地址) 软件: firewalld
02. 负载均衡服务器 lb01 (外网地址) (内外地址) 软件: nginx keepalived
03. 负载均衡服务器 lb02 (外网地址) (内外地址) 软件: nginx keepalived
04. web服务器 web01 (外网地址) (内外地址) 软件: nginx
05. web服务器 web02 (外网地址) (内外地址) 软件: nginx
06. web服务器 web03 (外网地址) (存储) (内外地址) 软件: nginx
07. 数据库服务器 db01 (外网地址) (内外地址) 软件: mysql(慢) mariaDB
08. 存储服务器 nfs01 (外网地址) (内外地址) 软件: nfs
09. 备份服务器 backup (外网地址) (内外地址) 软件: rsync
10. 批量管理服务器 m01 (外网地址) (内外地址) 软件: ansible
11. 跳板机服务器 jumpserver (外网地址) (内外地址) 软件: jumpserver
12. 监控服务器 zabbix (外网地址) (内外地址) 软件: zabbix
优化配置模板主机
1) 进行网络配置a 添加网卡b 配置网卡vim /etc/sysconfig/network-scripts/ifcfg-enss33c 确认网络配置
2) 系统优化过程1. 模板机优化配置---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.localdomain6
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.10 db01
172.16.1.11 nfs01
172.16.1.12 backup
172.16.1.13 m01
EOF
模板机优化配置—更改yum源
#更改yum源
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 makecache
生成缓存
EPEL(Extra Packages for Enterprise Linux), 是由Fedora Special Interest Group维护的Enterprise Linux(RHEL、CentOS)中经常用到的包
升级epel:
yum install -y wget wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
`yum repolist`:列出yum源信息;
同时注意yum升级命令
yum -y update
:升级所有包同时也升级软件和系统内核;
yum -y upgrade
:只升级所有包,不升级软件和系统内核。
模板机优化配置—关闭selinux
#关闭selinux
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
模板机优化配置—关闭iptables
#关闭iptables centos7
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
模板机优化配置—提权用户可以sudo (可选配置)
#提权用户可以sudo(可选配置)
useradd 用户名
echo 123456|passwd --stdin 用户名 #重置密码
\cp /etc/sudoers /etc/sudoers.ori
echo "用户名 ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
模板机优化配置—英文字符集
#英文字符集
localectl set-locale LANG="en_US.UTF-8"
模板机优化配置—时间同步
一、安装时间同步工具
yum -y install ntp
二、同步时间
1、修改时区
cp -y /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
vim /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
2、同步时间
/usr/sbin/ntpdate -u cn.pool.ntp.org
3、写入硬件时间
hwclock -r
hwclock -w
4、自动时间同步
vim /etc/rc.d/rc.local编辑:l
00 10 * * * root /usr/sbin/ntpdate -u cn.pool.ntp.org > /dev/null 2>&1; /sbin/hwclock -w
退出保存:wq
crontab -e
编辑:l
00 10 * * * /usr/sbin/ntpdate -u cn.pool.ntp.org > /dev/null 2>&1; /sbin/hwclock -w
退出保存:wq
模板机优化配置—加大文件描述
yum install -y lsoflsof -i:22
加大文件描述
echo '* - nofile 65536' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
说明: 一个服务程序运行起来,会打开相应的文件crond定时任务服务---systemctl start crond --- 打开相应文件/var/spool/cron/root --- 加载打开配置文件/var/log/cron --- 加载打开日志文件
模板机优化配置—安装其他小软件
安装其他小软件
yum install lrzsz nmap tree dos2unix nc telnet wget lsof ntpdate bash-completion bash-completion-extras -y
模板机优化配置—ssh连接速度慢优化
ssh连接速度慢优化
sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_configsystemctl restart sshd
模板机就此完成,然后进行批量克隆,注意调整ip或者改为动态ip再将优化配置模板主机进行对照修改相关ip,即可进行第一步的框架搭建
已经克隆出来的一台tomcat用作tomcat多实例及反向代理