网站架构准备:
1.1 网站架构体系组成:
1.1.1 前端服务
顾客-访问者:访问网站架构的人员
保安-防火墙:主要提供系统架构的网络安全性—iptables
外网交换机:是访问者可以通过交换机访问web服务器
迎宾-服务器-负载均衡服务器:把访问者平均分配给网站web服务器—nginx反向代理/LVS
服务员-网站web服务器:为访问者提供服务,做出响应处理—nginx网站服务/tomcat
内网交换机:保证访问者的需要传递给后端服务器
1.1.2 后端服务
厨师-数据库服务器:主要是用于存储字符串信息—mysql数据库服务
厨师-存储服务器:用于存储用户上传的图片 视频 音频 附件等数据资源—NFS存储服务
厨师-备份服务器:对系统架构中,重要的数据信息进行备份存储—rsync备份服务
厨师-缓存服务器:提供用户访问存储和读取快速响应—memacache/redis/mongodb
对用户经常访问的数据,也就是热点数据进行备份
一个地方 存在两个机房 叫做同城备份
在不同区域进行备份 叫做异地备份
1.1.3 两地三中心完美备份方案:
1. 数据库服务器中的数据专门有另外一台备份服务器
2. 在同城市中,为了确保断电时或其他因素不会影响到会数据库服务器进行备份,安排两个两个机房
1. 为了避免天灾等不可抗拒因素影响对数据库进行备份,在不同时城市,设立机房,专门对数据库进行备份
1.1.4 对于内部人员进入结构体系中的道路:
1. 运维人员通过认证后,通过×××通道,登录到系统中
2. 审计监控-跳板机 监控运维人员的日常操作,一旦出现问题,可以定位问题原因 shell/jumpserver
3. 监控服务器-监控架构中每一台服务器的运行状态,对产生的问题进行报警
4. 批量管理服务器-对架构中所有服务器进行批量管理操作 ssh+key+shell ansible/批量管理软件
1.1.5 发现架构不足(完善架构)
1. 架构中的防火墙服务器,可以部署多台,避免单点故障,一台防火墙服务器宕机,其他服务器还可以进行架构体系安全维护
2. 架构中负载均衡服务器,可以部署多台,避免单点故障 keeplived服务实现
3. 架构中数据库服务器可以部署多台,实现主从架构,或者多住多从,避免单点故障
4. 剩下的存储服务器/备份服务器/缓存服务器,都可以部署多台,来避免单点故障的问题
1.2 架构部署
1.2.1 环境规划(统一规划)
服务器主机名称与主机ip地址规划
1.2.2 必备目录:
/server/scripts #存放脚本的目录
/server/tools #存放编译软件源码目录
/application #软件程序的安装目录
1.3 配置模板主机为克隆连接模板做好准备
1. 配置网络环境,网卡网段信息,网关信息,其他相关虚拟网络功能设置
2. 添加虚拟网卡,网卡名称是eth1 LAN区段是模拟出内部网络环境
3. 开启模板主机并配置eth1网卡配置信息
4. 为虚拟主机克隆,做好环境准备(一清空,两删除)
一清空:清空一个网络规则配置文件
>/etc/udev/rules.d/70-persistent-net.rules
echo '>/etc/udev/rules.d/70-persistent-net.rules' >>/etc/rc.local 让清空命令开机自启动
两删除:删除网卡里面UUID信息 删除网卡里面mac地址信息
[root@oldboyedu43-lnb ~]# grep -E "UUID|HWADDR" /etc/sysconfig/network-scripts/ifcfg-eth[01]
/etc/sysconfig/network-scripts/ifcfg-eth0:HWADDR=00:0c:29:2d:6f:ad
/etc/sysconfig/network-scripts/ifcfg-eth0:UUID=ca1aa122-e49e-402e-99aa-7e002c18bba8
/etc/sysconfig/network-scripts/ifcfg-eth1:HWADDR=00:0c:29:2d:6f:b7
以上查询结果
sed -ri '/UUID|HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]
通过sed命令将mac地址与UUID信息进行删除
5. 对于模板机进行系统优化:
①. 模板机优化配置---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.51 db01 db01.etiantian.org
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.61 m01
EOF
在修改web01服务器主机名时,修改了/etc/hosts文件中主机名,但是hostname结果没有改变
[root@linux_epm2 etc]# vim hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
修改/etc/hosts中主机名,×××部分,把×××改成想要的主机名,重启之后生效了
②. 模板机优化配置---更改yum源
#更改yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
PS:yum repolist 列出yum源信息
curl -o 和wget一样
讲解什么是epel源
epel源主要是为了解决rpm安装过程中的依赖,因为rpm安装需要自己解决依赖,而yum安装是直接依次找到安装包并下载好,安装包存放在yum源中
③. 模板机优化配置---关闭selinux
#关闭selinux
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
④. 模板机优化配置---关闭iptables
#关闭iptables
/etc/init.d/iptables stop
/etc/init.d/iptables stop
chkconfig iptables off
⑤. 模板机优化配置---精简开机自启动服务
#精简开机自启动服务
export
chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print"chkconfig",$1,"off"}'|bash
chkconfig --list|grep 3:on
⑥. 模板机优化配置---提权oldboy可以sudo
#提权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
⑦. 模板机优化配置---英文字符集
#英文字符集
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
echo 'LANG="en_US.UTF-8"' >/etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo $LANG
⑧. 模板机优化配置---时间同步
#时间同步
echo '#time sync by lidao at 2017-03-08' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l
⑨. 模板机优化配置---加大文件描述
#加大文件描述
echo '* - nofile 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -a ---检查默认打开文件数
open files (-n) 1024
⑩. 模板机优化配置---内核优化
#内核优化
cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
EOF
sysctl –p
11模板机优化配置---安装其他小软件
#安装其他小软件
yum install lrzsz nmap tree dos2unix nc telnet sl -y
12模板机优化配置---ssh连接速度慢优化
#ssh连接速度慢优化
sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
/etc/init.d/sshd reload
13创建目录环境
# mkdir /server/{scripts,tools} /application -p
6. 进行虚拟主机克隆
连接克隆:
缺点:模板机(根)没有了,所有连接克隆主机也会消失
优点:克隆效率高,占用系统资源少
完整克隆:
缺点-克隆效率低占用系统资源多
优点-克隆主机更加安全,互相独立
7. 克隆好主机后,要一台一台开启,并进行网络配置
对克隆后的虚拟主机进行网络配置(修改IP地址与主机名称信息)
ps:当多个虚拟主机克隆完毕后,要一台一台开启,进行网络配置,否则会造成网络地址冲突
开启一台克隆主机:
01)修改IP地址
[root@oldboyedu43-lnb ~]# sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
[root@oldboyedu43-lnb ~]# grep "41" /etc/sysconfig/network-scripts/ifcfg-eth[01]
/etc/sysconfig/network-scripts/ifcfg-eth0:IPADDR=10.0.0.41
/etc/sysconfig/network-scripts/ifcfg-eth1:IPADDR=172.16.1.41
02)修改主机名称
[root@oldboyedu43-lnb ~]# hostname backup
[root@oldboyedu43-lnb ~]# sed -i 's#oldboyedu43-lnb#backup#g' /etc/sysconfig/network
[root@oldboyedu43-lnb ~]# grep 'backup' /etc/sysconfig/network
HOSTNAME=backup
[root@oldboyedu43-lnb ~]# cat /etc/hosts
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.51 db01 db01.etiantian.org
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.61 m01
DNS为什么修改成网关地址?
因为网关地址,也可以成为一个dns代理
根域名服务器为什么全世界只有13个?