項目整體介紹
整個項目包括以下幾個應用工程
1、 用戶APP
2、 商家APP
3、 業務平臺管理後臺
4、 商家業務管理後臺
5、 官網
整體項目規劃設計如下
1、 用戶APP採用JAVA環境佈署,初始環境兩臺服務器,實現負載均衡與高可用,前端負載使用nginx 做負載
2、 商家APP採用JAVA環境佈署,初始環境兩臺服務器,實現負載均衡與高可用,前端負載使用nginx 做負載
3、 業務平臺管理後臺採用JAVA環境佈署,初始環境一臺服務器,前端使用nginx 反向代理,後續業務流量擴大,架構重新擴展
4、 商家平臺管理後臺採用JAVA環境佈署,初始環境一臺服務器,前端使用nginx 反向代理,後續業務流量擴大,架構重新擴展
5、 官方網站都是一些靜態頁面,採用nginx佈署,WEB服務另安裝FTP服務器,做爲業務管理後臺一些靜態資源的上傳
6、 數據庫使用Mysql主從複製架構,程序上實現讀寫分享,從庫開啓binlog做備份使用
7、 全網所有備份數據全部同步到專業內網備份服務器,所有業務備份數據保留30天
8、 全網所有服務器監控(基本監控與服務監控)都採用zabbix監控
服務器IP地址規劃如下
服務器環境與應用軟件版本介紹
服務器環境
[root@centos ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@centos ~]# uname -r
2.6.32-642.el6.x86_64
應用軟件版本
Nginx 1.12.1
Mysql 5.7.17
Jdk 1.8
Tomcat 8.5.9
Zabbix 3.0
Yum 源使用163、阿里去、sohu國內的源都可以,自行選擇
Redis 4.0.1
服務器邏輯架構圖
配置國內YUM源,以163爲例
[root@centos ~]# cd /etc/yum.repos.d/
[root@centos yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
[root@centos yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@centos yum.repos.d]# mv CentOS6-Base-163.repo CentOS-Base.repo
安裝需要的軟件包
[root@centos ~]# yum install lsof vim telnet dos2unix lrzsz tree –y
關閉不需要啓動的服務
[root@centos ~]#for service in chkconfig --list|grep 3:on|awk '{print $1}';do chkconfig —level 3 $service off;done
[root@centos ~]#for service in crond network sshd rsyslog;do chkconfig —level 3 $service on;done
[root@centos ~]# chkconfig —list|grep 3:on
修改SSH服務的默認配置
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sed -i ‘s%#Port 22%Port 2233%g’ /etc/ssh/sshd_config
sed -i ‘s%#PermitRootLogin yes%PermitRootLogin no%g’ /etc/ssh/sshd_config
sed -i ‘s%#PermitEmptyPasswors no%PermitEmptyPasswors no%g’ /etc/ssh/sshd_config
sed -i ‘s%#UseDNS yes%UseDNS no%g’ /etc/ssh/sshd_config
egrep “UseDNS|2233|RootLogin|EmptyPass” /etc/ssh/sshd_config
/etc/init.d/sshd reload
關閉selinux
配置文件/etc/selinux/config
sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config
egrep “SELINUX=” /etc/selinux/config
關閉防火牆
如果不是對外網的服務器,直接關閉防火牆,有外網地址的可建議開啓,並允許相關的服務端口,併發高的服務器也不需要開啓防火牆,可能會影響性能
/etc/invited/pintables stop
/etc/invited/pintables status
pintables: Firewall is not running.
鎖定系統關鍵文件
for file in /etc/passed /etc/shadow /etc/services /etc/initial /etc/rc.local
do
chattr +i $file
done
配置全網服務器時間同步
/usr/sbin/ntpdate time.windows.com
cat>>/var/spool/cron/root<
#this cron is for ntpdate
/5 * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1
#cron config end
EOF
配置全網服務器hosts文件
Cat>>/etc/hosts<
10.0.0.1 nginx-lb
10.0.0.2 nginx-proxy
10.0.0.3 nginx
10.0.0.4 userapp
10.0.0.5 sjapp
10.0.0.6 admin
10.0.0.7 shangjia
10.0.0.8 web
10.0.0.9 mysql-m
10.0.0.10 mysql-s
10.0.0.11 ftp-backup
10.0.0.12 redis
10.0.0.13 backup-server
10.0.0.14 zabbix
EOF
規範所有服務器目錄(實際生產環境很重要)
[root@centos ~]# mkdir /download/tools/ -p
[root@centos ~]# mkdir /app/logs -p
[root@centos ~]# mkdir /app -p
[root@centos ~]# mkdir /server/{scripts,backup} –p
至此基本的服務器優化配置也就結束了,接下來就是安裝各類服務
更多精彩內容請關注 民工哥微信公衆號