网站架构准备:

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地址规划

spacer.gif

spacer.gif

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

PSyum 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?