一、搭建集群
1、采购服务器、性能测试、不同集群用什么配置。
2、采购云服务(云主机、虚拟机)。
3、采购带宽、压力测试。
4、采购CDN服务。
二、大致架构图
三、规划
1、服务器规划
服务器 | 数量 | 作用 |
负载均衡 | 2 | 对访问网站的流量进行分流,减少流量对某台服务器的压力 |
Web | 2 | 处理用户页面访问请求(使用Nginx或Apache) |
NFS存储 | 1 | 存储图片、附件、头像等静态数据(兼职批量分发和管理) |
备份服务器 | 1 | 对全网服务器的数据,进行实时与定时备份(使用rsync) |
数据库服务器 | 1 | 对动态变化数据(文本内容)进行存储(使用MYSQL) |
管理服务器 | 1 |
|
说明:预计需要8台服务器来完成本项目。
2、主机IP规划表
服务器 | 名称 | 内网IP | 外网IP(NAT) |
A1-Nginx负载服务器01 | lb01 | 172.16.1.5/24 | 10.0.0.5/24 |
A2-Nginx负载服务器02 | lb02 | 172.16.1.6/24 | 10.0.0.6/24 |
B1-Apache Web服务器 | web02 | 172.16.1.7/24 | 10.0.0.7/24 |
B2-Nginx Web服务器 | web01 | 172.16.1.8/24 | 10.0.0.8/24 |
C3-MYSQL存储服务器 | db01 | 172.16.1.51/24 | 10.0.0.51/24 |
C1-NFS存储服务器 | nfs01 | 172.16.1.31/24 | 10.0.0.31/24 |
C2-rsync存储服务器 | backup | 172.16.1.41/24 | 10.0.0.41/24 |
X-管理服务器 | m01 | 172.16.1.61/24 | 10.0.0.61/24 |
提示:
①尽量和这个一模一样。
②加粗的黑色是临时使用的,企业场景可以没有。
③负载均衡器用VIP10.0.0.3/24。
④带外网IP的服务器内网IP不配网关和DNS。
⑤外网IP该配啥配啥。
3、设置HOST解析(/etc/hosts)
cat >> /etc/hosts <<EOF
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web02
172.16.1.8 web01
172.16.1.51 db01 db01.zhangyujia.cn
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.61 m01
EOF
四、优化
1、关闭SELinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
2、关闭iptables
/etc/init.d/iptables stop
/etc/init.d/iptables stop
chkconfig iptables off
3、精简开机自启动服务
chkconfig |egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
export
chkconfig --list|grep 3:on
4、添加用户提权zhangyujia可以做sudo
useradd zhangyujia
\cp /etc/sudoers /etc/sudoers.ori
echo "zhangyujia ALL=(ALL) NOPASSWD:ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
5、中文字符集
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
echo 'LANG="zh_CN.utf8' >>/etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo $LANG
6、时间同步
echo '#time sync by zhangyujia at 2018-2-13' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l
7、命令行安全(根据需要配置)
echo 'export TMOUT=300' >>/etc/profile
echo 'export HISTSIZE=5' >>/etc/profile
echo 'export HISTFILESIZE=5' >>/etc/profile
tail -3 /etc/profile
. /etc/profile
8、加大文件描述
echo '* - nofile 65535'>>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
9、内核优化
vim /etc/sysctl.conf
https://blog.csdn.net/mr_rsq/article/details/79273324