日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
基于CentOS的企業(yè)架構(gòu)規(guī)劃及服務(wù)器優(yōu)化參數(shù)

閱讀目錄

  • 1.1 架構(gòu)圖
  • 1.2 架構(gòu)搭建順序
  • 1.3 架構(gòu)環(huán)境
  • 1.4 虛擬主機(jī)配置
  • 2.1 架構(gòu)優(yōu)化腳本內(nèi)容
  • 2.2 模板機(jī)主機(jī)hosts文件配置
  • 3.1 克隆前準(zhǔn)備
  • 3.2 進(jìn)行克隆
  • 3.3 進(jìn)行克隆
  • 3.4 克隆主機(jī)配置
  • 3.5 虛擬主機(jī)快照
  • 3.6 錯(cuò)誤排查
  • 3.7 如何讓setup 命令中防火墻配置生效

第1章 企業(yè)架構(gòu)規(guī)劃

1.1 架構(gòu)圖

1.1.1 用戶訪問網(wǎng)站組成

類型

作用

實(shí)現(xiàn)方式

顧客-用戶

訪問網(wǎng)站的人員

@

保安-防火墻

安全策略控制;正確的流量通過,攻擊者的流量組織

硬件- 華為 思科 juniper廠商

軟件-iptables

迎賓-負(fù)載均衡服務(wù)器

提供訪問者請(qǐng)求調(diào)度作用

nginx反向代理負(fù)載均衡服務(wù)器

LVS haproxy

服務(wù)員-web服務(wù)器

根據(jù)http原理,回復(fù)給訪問者相應(yīng)的頁(yè)面信息

nginx網(wǎng)站服務(wù)技術(shù)  apache

tomcat

廚師-數(shù)據(jù)庫(kù)服務(wù)器

返回給web服務(wù)器,相應(yīng)用戶數(shù)據(jù)的信息(字符串信息)

mysql Oracle

廚師--存儲(chǔ)服務(wù)器

返回給web服務(wù)器,相應(yīng)用戶的視頻、圖片、附件等數(shù)據(jù)信息

NFS存儲(chǔ)服務(wù)器  分布式儲(chǔ)存mfs

fastdfs

廚師-備份服務(wù)器

備份全網(wǎng)架構(gòu)服務(wù)器的重要資料

定時(shí)備份rsync+定時(shí)任務(wù) 

實(shí)時(shí)備份 inotify/sersync+rsync

廚師-緩存服務(wù)器

將數(shù)據(jù)存儲(chǔ)到內(nèi)存當(dāng)中,提升讀取效率

memcache 

redis

 mongodb

心跳線

 keepalived 高可用

 

集群

多臺(tái)服務(wù)器做一件相同的事情

 

1.1.2 運(yùn)維人員訪問網(wǎng)站組成

類型

作用

實(shí)現(xiàn)方式

秘密通道-vpn

實(shí)現(xiàn)加密傳輸數(shù)據(jù),實(shí)現(xiàn)認(rèn)證建立連接

 

監(jiān)管-跳板機(jī)

監(jiān)控運(yùn)維人員操作信息

  1、實(shí)時(shí)監(jiān)控運(yùn)維人員桌面信息

  2、命令記錄功能

  3、操作記錄回放

  4、用戶審計(jì)功能

jumpsever/gateone

批量管理服務(wù)器

批量自動(dòng)化管理多臺(tái)主機(jī)

ssh+key

ansible (200-300臺(tái))

saltstack

監(jiān)控服務(wù)器

監(jiān)控架構(gòu)服務(wù)器運(yùn)行情況

zabbix/nagios+cacti

批量安裝部署系統(tǒng)

(kicksrtart/cobbler)

 

1.2 架構(gòu)搭建順序

順序

服務(wù)

軟件

1

備份存儲(chǔ)服務(wù)器

rsync軟件實(shí)現(xiàn)備份服務(wù)

2

存儲(chǔ)服務(wù)器

NFS軟件實(shí)現(xiàn)存儲(chǔ)服務(wù)

3

1 2 之間實(shí)時(shí)同步

inotify+rsync/sersync

4

批量管理服務(wù)器

ssh+key/ansible/saltstack

5

web服務(wù)

nginx

6

LNMP架構(gòu)

linux+nginx+mysql+php

7

負(fù)載均衡

ngnix負(fù)載均衡

8

心跳線

keeplived 高可用

1.3 架構(gòu)環(huán)境

1.3.1 主機(jī)環(huán)境

服務(wù)器規(guī)劃

數(shù)量

作用說明

負(fù)載均衡服務(wù)器

兩臺(tái)

對(duì)訪問網(wǎng)站的流量進(jìn)行風(fēng)流,減少流量對(duì)某臺(tái)服務(wù)器的壓力

web服務(wù)器

三臺(tái)

處理用戶的頁(yè)面訪問請(qǐng)求(Nginx)

NFS存儲(chǔ)(兼職批量管理)

一臺(tái)

儲(chǔ)存圖片、附件、頭像等靜態(tài)數(shù)據(jù)

備份服務(wù)器(rsync

一臺(tái)

對(duì)全網(wǎng)服務(wù)器數(shù)據(jù)進(jìn)行實(shí)時(shí)與定時(shí)備份

數(shù)據(jù)庫(kù)服務(wù)器(mySQL

一臺(tái)

對(duì)動(dòng)態(tài)變化數(shù)據(jù)進(jìn)行存儲(chǔ)(文本內(nèi)容)

管理服務(wù)器

一臺(tái)

1)    1.作為yum倉(cāng)庫(kù)服務(wù)器,提供全網(wǎng)服務(wù)器的軟件下載

2)    2.跳板機(jī)、操作審計(jì)

3)    3.vpn(pptp)

4)    4.監(jiān)控(zabbix)

5)    5.兼職批量分發(fā)和管理(ssh+key/ansible/saltstack)

合計(jì)需要9臺(tái)虛擬機(jī)

1.3.2 各主機(jī)(IP/主機(jī)名)規(guī)劃

服務(wù)器說明

外網(wǎng)ip(nat

內(nèi)網(wǎng)IP(LAN區(qū)段)

主機(jī)名稱規(guī)劃

A1-nginx負(fù)載均衡服務(wù)器01

10.0.0.5/24

172.16.1.5/24

lb01

A2-nginx負(fù)載均衡服務(wù)器02

10.0.0.6/24

172.16.1.6/24

lb02

B1-nginx web服務(wù)器

10.0.0.7/24

172.16.1.7/24

web02

B2-nginx web服務(wù)器

10.0.0.8/24

172.16.1.8/24

web01

B3-nginx web服務(wù)器

10.0.0.9/24

172.16.1.924

web03

C3-mysql數(shù)據(jù)庫(kù)服務(wù)器

10.0.0.51/24

(生產(chǎn)環(huán)境不設(shè)置)

172.16.1.51/24

db01

C1-NFS存儲(chǔ)服務(wù)器

10.0.0.31/24

(生產(chǎn)環(huán)境不設(shè)置)

172.16.1.31/24

nfs01

C2-rsync 存儲(chǔ)服務(wù)器

10.0.0.41/24

(生產(chǎn)環(huán)境不設(shè)置)

172.16.1.41/24

backup

X-管理服務(wù)器

10.0.0.61/24

(生產(chǎn)環(huán)境不設(shè)置)

172.16.1.61/24

m01

1.3.3 初始目錄規(guī)劃

說明

目錄結(jié)構(gòu)

目錄結(jié)構(gòu)說明

初始化目錄

/server/scripts

/server/tools

/application

存放腳本的目錄

存放編譯安裝軟件源代碼的目錄

軟件程序的安裝目錄

1.4 虛擬主機(jī)配置

1.4.1 虛擬主機(jī)網(wǎng)卡添加(vmware軟件)

選擇網(wǎng)絡(luò)適配器,添加一塊新對(duì)的網(wǎng)卡

圖1-1 添加網(wǎng)卡

選項(xiàng)默認(rèn)即可,下一步直到網(wǎng)卡添加成功。

圖1-2 添加完成

1.4.2 編輯網(wǎng)絡(luò)

修改網(wǎng)絡(luò)選項(xiàng),將NAT模式子網(wǎng)改為 10.0.0.0 /24

修改網(wǎng)關(guān)為10.0.0.254

圖1-3 修改NAT網(wǎng)絡(luò)的網(wǎng)段

圖1-4 修改NAT網(wǎng)絡(luò)的網(wǎng)關(guān)

設(shè)置網(wǎng)卡的格式

      第一塊網(wǎng)卡選擇nat模式

圖1-5 第一塊網(wǎng)卡設(shè)置

第二塊網(wǎng)卡選擇lan區(qū)段

圖1-6 第二塊網(wǎng)卡設(shè)置 LAN區(qū)段

配置好lan區(qū)段后選擇上lan區(qū)段即可

圖1-7 第二塊網(wǎng)卡選擇好LAN區(qū)段

1.4.3 虛擬主機(jī)網(wǎng)卡地址配置

圖1-8 第一塊網(wǎng)卡eth0配置

圖1-9 第二塊網(wǎng)卡eth1配置

1.4.4 網(wǎng)卡配置好后注意

配置完成需要重啟網(wǎng)絡(luò)服務(wù)

/etc/init.d/network restart

第2章 架構(gòu)主機(jī)優(yōu)化腳本

注意:此腳本需要放在/tmp 目錄下

 

#!/bin/bash
#################################################
#    File Name: optimize-init_sys.sh
#       Author: Energy
#         Mail: admin@znix.top
#     Function: system optimize scripts
#################################################
#optimization linux system
. /etc/init.d/functions

#change system directory: create seripts/software directory
function change_dir(){
    ShellDir="/server/scripts"
    SoftwareDir="/server/tools"
    mkdir -p $ShellDir &&\
    mkdir -p $SoftwareDir
}

# input info verify
function info_verify(){
    read -p "Please make sure the information you entered (yes|no): " info
  case "$info" in
        y*|Y*)
            continue
            ;;
        n*|N*)
            exit 1
          ;;
  esac
}

#change system hostname
function change_hostname(){
    read -p "Please input hostname: " HostName
        info_verify
    hostname $HostName &&\
    sed -i "2s/=.*$/=$HostName/g" /etc/sysconfig/network &&\
    chk_hosts=$(grep -o "\b$HostName\b" /etc/hosts)
    get_ip=$(ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}')
    if [ -z $chk_hosts ]
    then
        echo "$get_ip   $HostName" >>/etc/hosts
    else
        continue
    fi
}

#boot system optimize: setup chkconfig
function change_chkconfig(){
    Boot_options="$1"
    for boots in `chkconfig --list|grep "3:on"|awk '{print $1}'|grep -vE "$Boot_options"`
    do
        chkconfig $boots off
    done
}

#setup system optimize: setup ulimit
function change_ulimit(){
    grep "*       -       nofile       65535" /etc/security/limits.conf >/dev/null 2>&1
    if [ $? -ne 0 ]
    then
        echo '*       -       nofile       65535' >>/etc/security/limits.conf
    fi
}

#setup system optimize: setup sysctl
function change_sysctl(){
    cat /tmp/sysctl.conf >/etc/sysctl.conf &&\
    modprobe bridge &>/dev/null &&\
    sysctl -p &>/dev/null
}

#sshd software optimize: change sshd_conf
function change_sshdfile(){
    SSH_Port="port 22"
    SSH_ListenAddress=$(ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}')
    SSH_PermitRootLogin="PermitRootLogin no"
    SSH_PermitEmptyPassword="PermitEmptyPasswords no"
    SSH_GSSAPI="GSSAPIAuthentication no"
    SSH_DNS="useDNS no"
      #sed -i -e "13s/.*/$SSH_Port/g" /etc/ssh/sshd_config
      #sed -i -e "15s/.*/ListenAddress $SSH_ListenAddress/g" /etc/ssh/sshd_config
      #sed -i -e "42s/.*/$SSH_PermitRootLogin/g" /etc/ssh/sshd_config
      #sed -i -e "65s/.*/$SSH_PermitEmptyPassword/g" /etc/ssh/sshd_config
      sed -i -e "81s/.*/$SSH_GSSAPI/g" /etc/ssh/sshd_config
      sed -i -e "122s/.*/$SSH_DNS/g" /etc/ssh/sshd_config
}

#selinux software optimize: change disable
function change_selinux(){
    sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config &&\
    setenforce 0
}

#firewall software optimize: change stop
function change_firewall(){
    /etc/init.d/iptables stop >/dev/null 2>&1
}

#crond software optimize: time synchronization
function change_update(){
    grep -i "#crond-id-001" /var/spool/cron/root >/dev/null 2>&1
    if [ $? -ne 0 ]
    then
        echo '#crond-id-001:time sync by hq' >>/var/spool/cron/root
        echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1">>/var/spool/cron/root
    fi
}

#update yum info
function update_yum(){
    wget -q -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
    wget -q -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
}

#change profile file info
function change_profile(){
    grep "PS1" /etc/profile >>/dev/null 2>&1
    if [ $? -ne 0 ]
    then
        echo  "PS1='\[\e[32;1m\][\u@\h \W]\\$ \[\e[0m\]'" >>/etc/profile
    fi
    grep "alias grep" /etc/profile >>/dev/null 2>&1
    if [ $? -ne 0 ]
    then
    echo "alias grep='grep --color=auto'" >>/etc/profile
    echo "alias ll='ls -l --color=auto --time-style=long-iso'" >>/etc/profile
    fi
    source /etc/profile
}

function main(){
    change_dir
    change_hostname
    change_chkconfig "crond|network|rsyslog|sshd|sysstat"
    change_ulimit
    change_sysctl
    change_sshdfile
    change_selinux
    change_firewall
    change_update
    update_yum
    change_profile
}
main
action "system optimize complete" /bin/true

 

2.1 架構(gòu)優(yōu)化腳本內(nèi)容

適用于 #centos6.x  系統(tǒng)

2.1.1 更改yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
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

2.1.2 關(guān)閉selinux

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g'  /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce

2.1.3 關(guān)閉關(guān)防火墻

/etc/init.d/iptables stop
/etc/init.d/iptables stop
chkconfig iptables off

2.1.4 精簡(jiǎn)開機(jī)自啟動(dòng)服務(wù)

chkconfig |egrep -v "sshd|network|crond|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
export LANG=en
chkconfig --list|grep 3:on

2.1.5 提權(quán)oldboy可以sudo(可選)

useradd oldboy
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy ALL=(ALL)  NOPASSWD: ALL" >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c

2.1.6 中文字符集(不用做)

cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo $LANG

2.1.7 時(shí)間同步

echo '#time sync by hzs at 2017-10-05' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null  2>&1 '>>/var/spool/cron/root
crontab -l

2.1.8 命令行安全(千萬(wàn)別做)

#echo 'export TMOUT=300' >>/etc/profile
#echo 'export HISTSIZE=5' >>/etc/profile
#echo 'export HISTFILESIZE=5' >>/etc/profile
#tail -3 /etc/profile
#./etc/profile

2.1.9 加大文件描述符

echo '*        -    nofile     65535 '>>/etc/security/limits.conf
tail -1 /etc/security/limits.conf

2.1.10 內(nèi)核優(yōu)化

 

cat >>/etc/sysctl.conf<

 

#修改內(nèi)核后讓內(nèi)核配置文件中的參數(shù)生效

sysctl -p

2.1.11 安裝一些軟件

yum install lrzsz namp tree  dos2unix nc -y

2.1.12 系統(tǒng)升級(jí)操作(暫不使用)

#yum update 或  yum upgrade
#yum -y update   #升級(jí)所有包,改變軟件設(shè)置和系統(tǒng)設(shè)置,系統(tǒng)版本內(nèi)核都升級(jí)
#yum -y ipgrade  #升級(jí)所有包,不改變系統(tǒng)設(shè)置和軟件設(shè)置,系統(tǒng)版本升級(jí),內(nèi)核不變

2.2 模板機(jī)主機(jī)hosts文件配置

 

cat >/etc/hosts<

 

第3章 虛擬機(jī)克隆

3.1 克隆前準(zhǔn)備

一清空,兩刪除

  清空網(wǎng)絡(luò)配置文件

>/etc/udev/rules.d/70-persistent-net.rules

echo '>/etc/udev/rules.d/70-persistent-net.rules'  >>/etc/rc.local

  刪除網(wǎng)卡配置文件中的uuid和HWADDR

sed -ri '/HWADDR|UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]

3.2 進(jìn)行克隆

模板機(jī)關(guān)機(jī)

shutdown -h now

3.2.1 保留快照

3.3 進(jìn)行克隆

3.3.1 進(jìn)行克隆

3.3.2 創(chuàng)建連接克隆

3.4 克隆主機(jī)配置

01. 利用給的腳本進(jìn)行修改

02. 手動(dòng)進(jìn)行修改

hostname backup
sed -i "s#oldboy40#backup#g" /etc/sysconfig/network
grep "backup" /etc/sysconfig/network
HOSTNAME=backup
grep "backup" /etc/hosts
172.16.1.41     backup

3.4.1 手動(dòng)修改網(wǎng)卡地址

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

3.4.2 修改系統(tǒng)主機(jī)名稱

hostname backup
sed -i  's#znix#backup#g' /etc/sysconfig/network
修改hosts文件

3.4.3 重啟網(wǎng)卡生效

/etc/init.d/network restart

3.4.4 重新建立xsheel標(biāo)簽進(jìn)行連接

第一臺(tái)克隆主機(jī)完成

3.5 虛擬主機(jī)快照

模板機(jī)初始化完成進(jìn)行拍照留念

存儲(chǔ)空間足夠,快照要多保存。,

3.6 錯(cuò)誤排查

3.6.1 網(wǎng)卡配置問題

    a 兩刪除操作完成之后,不要再進(jìn)行setup修改網(wǎng)卡操作,否則mac地址信息會(huì)再次出現(xiàn)

    b setup命令無(wú)法設(shè)置網(wǎng)卡信息,主要和字符集設(shè)置有關(guān)

3.7 如何讓setup 命令中防火墻配置生效

3.7.1 CentOS系統(tǒng)找不到setup命令工具的解決方法

 

yum -y install setuptool  
#安裝setup命令工具

yum -y install ntsysv  
#安裝setup工具配套的系統(tǒng)服務(wù)組件

yum -y install system-config-securitylevel-tui
#安裝setup工具配套的防火墻配置組件

yum -y install system-config-network-tui
#安裝setup工具配套的網(wǎng)絡(luò)配置組件

yum -y install authconfig-gtk
#安裝setup工具配套的驗(yàn)證配置組件

yum -y install system-config-keyboard
#安裝setup工具配套的鍵盤配置組件

 

3.7.2 使用setup配置中的Firewall configuration出現(xiàn)的錯(cuò)誤

 

Traceback (most recent call last):
  File "/usr/bin/system-config-firewall-tui", line 29, in 
    import fw_tui
  File "/usr/share/system-config-firewall/fw_tui.py", line 34, in 
    import fw_nm
  File "/usr/share/system-config-firewall/fw_nm.py", line 30, in 
    bus = dbus.SystemBus()
  File "/usr/lib/python2.6/site-packages/dbus/_dbus.py", line 202, in __new__    private=private)
  File "/usr/lib/python2.6/site-packages/dbus/_dbus.py", line 108, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
  File "/usr/lib/python2.6/site-packages/dbus/bus.py", line 125, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

 

3.7.3 解決辦法

yum install -y system-config-firewall system-config-firewall-tui dbus eggdbus && service messagebus start

本文文使用的系統(tǒng)版本為: CentOS Linux release 7.4.1708 (Core) 內(nèi)核版本為: 3.10.0-693.el7.x86_64


本文名稱:基于CentOS的企業(yè)架構(gòu)規(guī)劃及服務(wù)器優(yōu)化參數(shù)
轉(zhuǎn)載來(lái)源:http://m.5511xx.com/article/ccdpjjo.html