Linux系统集群架构线上项目配置实战(一)
生活随笔
收集整理的這篇文章主要介紹了
Linux系统集群架构线上项目配置实战(一)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
項目整體介紹
**整個項目包括以下幾個應(yīng)用工程** 1、 用戶APP 2、 商家APP 3、 業(yè)務(wù)平臺管理后臺 4、 商家業(yè)務(wù)管理后臺 5、 官網(wǎng) **整體項目規(guī)劃設(shè)計如下** 1、 用戶APP采用JAVA環(huán)境布署,初始環(huán)境兩臺服務(wù)器,實現(xiàn)負(fù)載均衡與高可用,前端負(fù)載使用nginx 做負(fù)載 2、 商家APP采用JAVA環(huán)境布署,初始環(huán)境兩臺服務(wù)器,實現(xiàn)負(fù)載均衡與高可用,前端負(fù)載使用nginx 做負(fù)載 3、 業(yè)務(wù)平臺管理后臺采用JAVA環(huán)境布署,初始環(huán)境一臺服務(wù)器,前端使用nginx 反向代理,后續(xù)業(yè)務(wù)流量擴大,架構(gòu)重新擴展 4、 商家平臺管理后臺采用JAVA環(huán)境布署,初始環(huán)境一臺服務(wù)器,前端使用nginx 反向代理,后續(xù)業(yè)務(wù)流量擴大,架構(gòu)重新擴展 5、 官方網(wǎng)站都是一些靜態(tài)頁面,采用nginx布署,WEB服務(wù)另安裝FTP服務(wù)器,做為業(yè)務(wù)管理后臺一些靜態(tài)資源的上傳 6、 數(shù)據(jù)庫使用Mysql主從復(fù)制架構(gòu),程序上實現(xiàn)讀寫分享,從庫開啟binlog做備份使用 7、 全網(wǎng)所有備份數(shù)據(jù)全部同步到專業(yè)內(nèi)網(wǎng)備份服務(wù)器,所有業(yè)務(wù)備份數(shù)據(jù)保留30天 8、 全網(wǎng)所有服務(wù)器監(jiān)控(基本監(jiān)控與服務(wù)監(jiān)控)都采用zabbix監(jiān)控 復(fù)制代碼服務(wù)器IP地址規(guī)劃如下
服務(wù)器環(huán)境與應(yīng)用軟件版本介紹
服務(wù)器環(huán)境 [root@centos ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@centos ~]# uname -r 2.6.32-642.el6.x86_64 復(fù)制代碼應(yīng)用軟件版本
Nginx 1.12.1 Mysql 5.7.17 Jdk 1.8 Tomcat 8.5.9 Zabbix 3.0 Yum 源使用163、阿里去、sohu國內(nèi)的源都可以,自行選擇 Redis 4.0.1 復(fù)制代碼服務(wù)器邏輯架構(gòu)圖
服務(wù)器基礎(chǔ)環(huán)境配置 因使用云主機服務(wù)器,初始系統(tǒng)安裝就略過了,如果需要批量安裝的請參考前面的文章
配置國內(nèi)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 復(fù)制代碼安裝需要的軟件包
[root@centos ~]# yum install lsof vim telnet dos2unix lrzsz tree –y 復(fù)制代碼關(guān)閉不需要啟動的服務(wù)
[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 復(fù)制代碼修改SSH服務(wù)的默認(rèn)配置
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 復(fù)制代碼**關(guān)閉selinux **
配置文件/etc/selinux/config sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config egrep "SELINUX=" /etc/selinux/config 復(fù)制代碼關(guān)閉防火墻 如果不是對外網(wǎng)的服務(wù)器,直接關(guān)閉防火墻,有外網(wǎng)地址的可建議開啟,并允許相關(guān)的服務(wù)端口,并發(fā)高的服務(wù)器也不需要開啟防火墻,可能會影響性能
/etc/invited/pintables stop /etc/invited/pintables status pintables: Firewall is not running. 復(fù)制代碼鎖定系統(tǒng)關(guān)鍵文件
for file in /etc/passed /etc/shadow /etc/services /etc/initial /etc/rc.local dochattr +i $file done 復(fù)制代碼配置普通操作用戶及sudo權(quán)限 具體操作請參考公眾號相關(guān)文章介紹
配置全網(wǎng)服務(wù)器時間同步
/usr/sbin/ntpdate time.windows.com cat>>/var/spool/cron/root<<EOF #this cron is for ntpdate */5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1 #cron config end EOF 復(fù)制代碼配置全網(wǎng)服務(wù)器hosts文件
Cat>>/etc/hosts<<EOF 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 復(fù)制代碼規(guī)范所有服務(wù)器目錄
[root@centos ~]# mkdir /download/tools/ -p [root@centos ~]# mkdir /app/logs -p [root@centos ~]# mkdir /app -p [root@centos ~]# mkdir /server/{scripts,backup} –p 復(fù)制代碼至此基本的服務(wù)器優(yōu)化配置也就結(jié)束了,接下來就是安裝各類服務(wù)
總結(jié)
以上是生活随笔為你收集整理的Linux系统集群架构线上项目配置实战(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react源码解析之stack reco
- 下一篇: linux中添加一个用户到指定用户组的两