网站架构准备:

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?