PROJECT2: 華為雲 >> 企業雲平臺完整架構例項應用分解(第一部分Web端)

A 浪々花&『趙天浪』發表於2020-11-07

專案2:主流`企業雲平臺搭建(Web叢集+MySQL叢集+Redis叢集+Ceph分散式檔案儲存叢集+zabbix監控+ELK架構分析

今天來和大家一起分享如下~企業完整版雲平臺應用架構伺服器環境搭建如圖:
在這裡插入圖片描述
在此;將會進階升級使用Ansible劇本來部署前端基礎軟體環境安裝工具等,若有需要用到的相關軟體及安裝包可以留言私信獲取~
步驟一 開始:專案所需主機列表資訊,快速構建好一個Ansible平臺,將專案所需軟體上傳雲平臺跳板機,實驗環境,配置主機名稱、IP地址、YUM源(如果使用我的指令碼就必須保證主機名及IP地址一致才行)。
準備基礎環境 1)修改/etc/hosts hosts檔案是Linux系統上負責IP地址與域名快速解析的檔案

[root@ecs-proxy ~]# cat >> /etc/hosts <<EOF
192.168.1.11 nginx-0001
192.168.1.12 nginx-0002
192.168.1.13 nginx-0003
192.168.1.21 nfs
192.168.1.22 backup
192.168.1.31 redis-0001
EOF
  1. 修改Ansible配置檔案
[root@ecs-proxy ~]# mkdir /root/ansible
[root@ecs-proxy ~]# cat >> /root/ansible/ansible.cfg <<EOF
[defaults]
inventory = /root/ansible/hosts #主機清單配置檔案
host_key_checking = False #不校驗金鑰(第一次ssh時不提示yes/no)
EOF
  1. 修改主機清單檔案(清單檔名必須與主配置檔案inventory定義的一致)
[root@ecs-proxy ~]#cat >> /root/ansible/hosts <<EOF
[web]                #定義主機組(組名稱任意)
192.168.1.1[1:3]        #定義組中的具體主機
[nfs]
192.168.1.21
[backup]
192.168.1.22
[redis]
192.168.1.31
EOF入程式碼片
  1. 上傳軟體包雲平臺跳板機
    在這裡插入圖片描述
    #####以上就是Ansible環境搭建完成, 接下來`在購買華為雲伺服器 如上圖如示 #################
  1. 開啟華為雲官網—>【控制檯】—>【彈性雲伺服器】—>【購買彈性雲伺服器】
    網路配置:手動分配對應IP地址 192.168.1.xx
    高階配置:雲伺服器名稱 ecs-proxy 1臺, nginx 3臺, nfs 1臺, backup 1臺, redis-0001
    確認配置:1臺
    等待雲機正常執行後,來到跳板機Ansible目錄中,執行’‘install_web.sh’’;
#!/bin/bash

#安裝PHP
yum -y install php php-fpm php-mysql mariadb-server &> /dev/null

#原始碼安裝Nginx
yum -y install gcc pcre-devel  openssl-devel &> /dev/null
tar -xf /root/nginx-1.12.2.tar.gz
cd /root/nginx-1.12.2
./configure --with-http_ssl_module --with-http_stub_status_module   &> /dev/null
make  &> /dev/null && make install  &> /dev/null
echo  "原始碼安裝Nginx  OK"

#修改nginx配置,實現動靜分離.
conf="/usr/local/nginx/conf/nginx.conf"
sed -i  '65,71s/#//'  $conf
sed -i  '/SCRIPT_FILENAME/d'  $conf
sed -i  's/fastcgi_params/fastcgi.conf/'  $conf

echo  "修改nginx配置,實現動靜分離 OK"

#啟動服務
systemctl  start  php-fpm
systemctl  enable  php-fpm &> /dev/null
/usr/local/nginx/sbin/nginx

echo /usr/local/nginx/sbin/nginx >> /etc/rc.local
chmod +x  /etc/rc.local
echo  "啟動服務nginx php-fpm 設定開機自啟  OK" 


#上傳網頁程式碼
tar -xf   /root/php-redis-demo.tar.gz  -C /root
cp -rf  /root/php-redis-demo/*  /usr/local/nginx/html/

echo  "上傳網頁資原始碼  OK"

#掛載NFS共享目錄
yum  -y install nfs-utils  &> /dev/null
showmount -e 192.168.1.21 &> /dev/null
mkdir /data
echo '192.168.1.21:/common /data nfs defaults 0 0' >> /etc/fstab
mount -a

echo  "掛載NFS伺服器共享目錄 OK"

#更改Nginx配置 新增location匹配靜態資源
sed -ri "71 a location ~ .*\\\.(gif|jpg|png) { root /data; expires 30d;}"  $conf
/usr/local/nginx/sbin/nginx -s reload

#PHP實現Session共享
yum  -y  install autoconf  automake php-cli php-devel &> /dev/null
tar -xf  /root/php-redis-2.2.4.tar.gz  -C /root &> /dev/null
cd  /root/phpredis-2.2.4/
phpize  &> /dev/null
./configure  --with-php-config=/usr/bin/php-config &> /dev/null
make  &> /dev/null && make install  &> /dev/null
echo "安裝php擴充套件模組 OK"

echo 'extension_dir = "/usr/lib64/php/modules/"'  >> /etc/php.ini
echo 'extension = "redis.so"'  >> /etc/php.ini
sed -ri '/session.save_handler/s/(.*)(=)(.*)/\1\2 redis/'  /etc/php-fpm.d/www.conf 
sed -ri '225c php_value[session.save_path] = "tcp://192.168.1.31:6379"'  /etc/php-fpm.d/www.conf
systemctl restart   php-fpm

echo  "更改php-fpm配置檔案  OK"

netstat -antpu | grep php-fpm
netstat -antpu | grep nginx

2.在華為負載均衡ELB中新增監聽器和後端伺服器
在這裡插入圖片描述
3.客戶端使用瀏覽器 [ http:// 公網IP / index.php ] 進行訪問不同的Web伺服器。輸入任意使用者名稱和密碼;Ctrl+F5強制重新整理,無需再次輸入密碼登入,即可登入其他伺服器。實現Session共享。
在這裡插入圖片描述
在這裡插入圖片描述
------至此,我們前端WEB搭建及nginx負載均衡就已經完成了! ----- 期待- 第二部 資料庫 架構 -----3QQ --------

相關文章