------------恢复内容开始------------

00 课程介绍部分

  整体课程介绍:

    1)备份服务

    2)存储服务

    3)实时同步服务

    4)批量管理服务

    5)网站服务(web服务)

    6)LNMP网站架构

    7)负载均衡反向代理服务

    8)高可用服务

    9)监控服务

    10)跳板机服务

    11)防火墙服务

  今日课程内容:

    1.架构介绍

    2.架构规划

      网络的规划

      主机名称规划

    3.系统优化

      字符集优化

      安全优化(防火墙 selinux)

      远程连接优化

      命令提示符优化

      yum源优化

    4.进行虚拟主机克隆操作

01 中小规模网站架构组成

  1.中小规模网站架构组成

  

   

 

  1.顾客 ---- 用户

    访问网站的人员

  2.保安 ---- 防火墙(firewalld)

    进行访问控制策略(对访问的人员及流量进行访问控制)

  3.迎宾 ---- 负载均衡服务器(nginx)

    对用户的访问请求进行调度处理(利用外网交换机将用户请求合理分配给各web服务器)

  4.服务员 ---- web服务器(nginx)

    负责处理用户的请求(利用内网交换机将请求反送给对应的服务器)

  5.厨师 ---- 数据库服务器(mysql)

    存储字符数据(例如购物网站的订单信息,及商品价格对应关系等等)

  6.厨师 ---- 存储服务器(nfs)  

    存储图片,音频,视频,附件等数据信息

  7.厨师 ---- 备份服务器(rsync+crond:定时备份  rsync+sersync:实时备份)

    将网站内所有服务器中的重要内容进行备份存储

  8.厨师 ---- 缓存服务器(memcache redis MongoDB)

    对于一些常用的数据,放到内存中会提高数据读取效率

    01.将数据信息存储到内存中

    02.减缓服务器的压力

   9.经理 ---- 批量管理服务器(ansible)

    批量管理多台服务器主机

  2.部署网站架构

  

   

   

   1).需要解决网站架构单点问题(重要服务器节点冗余能力)

    负载均衡服务器: 利用高可用服务(Keepalived)---多台服务器之间通过Keepalived服务自行协商主备,当主宕机,则备用及时切换到业务环境中,保证业务高可用

    数据库服务器:  利用高可用服务(mha)---利用mha服务实现多台服务器相互冗余

    存储服务器:   利用高可用服务(Keepalived)---同负载均衡相同

    备份服务器:   1.利用开源软件实现数据备份 rsync

             2.利用企业网盘进行数据备份 七牛云

             3.利用自建备份存储架构    两地三中心--实现异地备份数据,使重要数据不丢失

    缓存服务器:   利用高可用服务(    )---缓存服务集群/哨兵模式

  2).内部员工如何远程访问架构

    部署搭建VPN服务器  pptp VPN       L2TP VPN

    https://blog.oldboyedu.com/pptp-l2tp/

  3).内部员工操作管理服务器要进行审计

    跳板机服务器 jumpserver ---对员工管理操作架构服务器时所进行一些行为及操作进行记录,防治误操作

    https://www.jumpserver.org/

  4).架构中服务器出现问题需要进行提前报警告知

    部署监控服务器 zabbix

    https://www.zabbix.com/documentation/4.0/zh/manual

02 综合架构规划

  规划主机名称和IP地址

      01.防火墙服务器       firewalld      10.0.0.81(外网地址)    172.16.1.81(内网地址) 软件:firewalld
        02.负载均衡服务器    lb01             10.0.0.5                      172.16.1.5              软件:nginx  Keepalived
        03.负载均衡服务器    lb02             10.0.0.6               172.16.1.6              软件:nginx  Keepalived
        04.web服务器           web01      10.0.0.7               172.16.1.7              软件:nginx
        05.web服务器           web02      10.0.0.8               172.16.1.8              软件:nginx
        06.web服务器           web03      10.0.0.9               172.16.1.9              软件:nginx
        07.数据库服务器        db01       10.0.0.51               172.16.1.51              软件:mysql(慢) mariaDB
        08.存储服务器            nfs01       10.0.0.31               172.16.1.31              软件:nfs
        09.备份服务器           backup     10.0.0.41              172.16.1.41              软件:rsync
        11.批量管理服务器     m01          10.0.0.61               172.16.1.61              软件:ansible
        12.跳板机服务器        jumpserver    10.0.0.71(61)           172.16.1.71          软件:jumpserver
        13.监控服务器            zabbix       10.0.0.72(61)          172.16.1.72          软件:zabbix
        10.缓存服务器

03 优化配置模板主机

  1)进行网络配置

    01.添加网卡

     

     1.添加网络适配器

    

     2.添加全局LAN区段  172.16.1.0/24

    

     3.为新添加的网卡选择LAN区段,完成后确定即可,网卡添加完成

    02.配置网卡

       方法一:vim /etc/sysconfig/network-scripts/ifcfg-eth1

       

        方法二:nmtui

       

    03.确认网络配置

      

  2)系统优化过程

    1.模板机优化配置 --- hosts文件配置

      配置hosts文件,建立IP地址和主机名称之间的对应关系(注意:修改文件之前需对文件进行备份操作)

        1.备份文件

        

         利用{.bak}快速备份文件

        2.编写hosts配置文件

        cat >/etc/hosts<<EOF    建立地址与主机名的映射关系

        

    2.模板机优化配置 --- 更改yum源

      1.备份原yum配置文件,以便恢复

      mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup &&\

      2.更改基础yum源配置(此配置命令源自阿里开源镜像站)

      curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

      此命令意为将本地yum基础源仓库变更为阿里基础yum源仓库

      3.更改扩展yum源配置(此命令配置源自阿里开源镜像站)

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

      注意wget命令不是系统自带命令,需下载  yum install -y wget

      

      4.查看系统中yum源库

      yum repolist    优化完成

      

    3.模板机优化配置 --- 关闭selinux

      系统中root用户的权限很大,几乎可以干任何事,selinux就是为了控制root用户的权限,增加系统的安全性,但selinux也有可能影响后期一些服务的运行,所以需要关闭

      方法一: vim /etc/selinux/comfig    重启配置生效

      

 

 

       getenforce    查看selinux服务状态

      方法二:用命令修改

      sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

      

 

 

       getenforce      查看selinux服务状态

      setenforce 0  1     修改服务状态     Enforcing(强制执行)    等价于   1     ------ 服务开启状态     Permissive(许可的)     等价于   0               ------ 服务关闭状态    

 

    4.模板机优化配置 --- 关闭防火墙

      systemctl  stop  firewalld      关闭防火墙

      systemctl  disable  firewalld     开机自动关闭防火墙

      systemctl  status  firewalld      查看防火墙状态

    5.模板机优化配置 --- 提权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

    6.模板机优化配置 --- 英文字符集

      echo  $LANG    查看系统字符集

      localctl set-locale LANG="en_US.UTF-8"    永久修改系统字符集

    7.模板机优化配置 --- 时间同步

      1.安装时间同步命令  ntpdate   

        yum install  -y  ntpdate

        

 

 

       2.编写定时任务,使时间自动同步

        方法一: 命令编写  crontab  -e

        

 

 

         crontab  -l

        

 

 

         方法二:直接编写

          echo '#time sync by lidao at 2017-03-08' >>/var/spool/cron/root            将注释内容追加到文件中

          echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root 将定时任务追加到文件中

          crontab  -l  ==  cat  /var/spoolcron/root

 

    8.模板机优化配置 --- 加大文件描述(优化打开文件数)

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

        例如: crond定时任务    -----systemctl start  crond    运行定时服务时系统会相应的打开一些文件,会打开配置文件,运行定时任务,也会开启日志文件,记录响应的日志信息

          /var/spool/cron/root      --- 加载打开配置文件
                /var/log/cron              --- 加载打开日志文件

        系统中每一个进程对应一个服务,每个服务都会打开一些文件       ps -ef |wc  -l  查看进程数

        

 

 

         利用命令lsof(list system open file)可以查看每个进程所开启的文件数

        

 

 

         lsof   -i:端口号                   利用-i  查看服务打开了几个文件

        

 

 

         上述由于优化了远程登录端口,所有sshd远程服务的端口变更为52113

        查看系统默认容许打开文件数     ulimit   -a

        

 

 

         由于后期进程会不断增加,默认打开文件数显然远远不够,所以我们需要修改默认值,让他变大

        方法一:vim //etc/security/limits.conf

        

 

 

         方法二:  echo '*               -       nofile          65536' >>/etc/security/limits.conf
                  tail -1 /etc/security/limits.conf
                    source /etc/security/limits.conf

            

 

    9.模板机优化配置 --- 安装其他小软件

      yum install lrzsz(从windows主机中上传下载文件) nmap(扫描端口) tree dos2unix(编写脚本) nc telnet wget lsof ntpdate bash-completion(命令补齐) bash-completion-extras -y

      利用rpm -qa 查看文件是否安装  有返回结果即为安装,无返回结果即为未安装

      

 

 

       安装软件

      

 

 

    10.模板机优化配置 --- ssh连接速度慢优化

     sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g'  /etc/ssh/sshd_config
                  systemctl restart sshd   

 

04 进行模板主机克隆操作

  1.进行模板主机快照拍摄

    虚拟机特有功能,记录系统当前配置情况,以便后期进行还原

    

  2.进行虚拟主机克隆

      1.创建链接克隆(学习环境)

        优势:  节省物理主机资源(链接主机不会占用太多资源)

              克隆主机效率快

        劣势:  模板主机删除,链接主机也会失效

      2.创建完整克隆(企业应用)

        优势:  模板主机删除,克隆主机依然可以使用

        劣势:  比较消耗物理主机资源(完整主机跟被克隆主机资源一样)

           克隆主机效率低

  3.克隆后虚拟主机配置

      1.修改主机名称

        hostnamectl  set-hostname  backup

        

      2.修改主机地址

        1.克隆主机地址无法正常显示解决办法

          虚拟机开启后查看网卡配置发现克隆后的主机eth1没有IP地址,查看源主机ip地址信息齐全

          

 

 

           重启网络服务会报错,查看网络服务状态,网络服务状态错误

          

 

          由于eth1的网卡配置文件是从模板主机中克隆过来的,所以还是模板机的mac地址,与系统中的mac地址不一致导致系统网络配置不正常

 

           

 

 

           修改eth1的网卡配置mac地址与系统一致

          

 

 

           修改完成查看网络服务

          

 

 

           地址正常显示

          

 

 

       2.修改主机地址

        01.根据主机地址规律我们只需将网卡地址中200更换为41即可

          sed -i 's/200/41/g' /etc/sysconfig/network-script/ifcfg-eth[01]

        02.grep 确认更换信息

          grep 41 /etc/sysconfig/network-script/ifcfg-eth[01] 

        03 目前系统中不需要UUID的信息,我们需要删除

          sed -i '/UUID/d' /etc/sysconfig/network-script/ifcfg-eth[01]

        04 确认UUID信息被删除

          grep UUID /etc/sysconfig/network-script/ifcfg-eth[01]

        05 重启网络服务

          systemctl restart network

        

 

 

 

        

 

05 备份服务器说明

06 什么是rsync服务

07 rsync软件使用方法

08 rsync命令语法格式

09 rsync服务部署安装过程

10 课程总结

------------恢复内容结束------------