1. 程式人生 > >搭建企業web叢集架構配置詳解

搭建企業web叢集架構配置詳解


到這裡我們的MySQL正式安裝完畢!在192.168.1.80 slave主機上安裝MySQL和上面一樣 這裡不再做演示,在這裡我slave主機已經安裝好了


八、配置MySQL主主同步之高可用

1)master操作 開啟二進位制日誌及ID如下:
  1. vim /etc/my.cnf  
  2. log-bin=mysql-bin  
  3. server-id=1  
重啟Mysql服務
2)登入mysql伺服器給從伺服器授權

  1. mysql> grant replication slave on *.* to [email protected]
    '192.168.1.80' identified by'123456';  
  2. mysql> flush privileges;  
  3. 檢視xcache快取命中mysql> -c請求 –n併發數show master status;  

其中file列顯示日誌名,position列顯示偏移量,這兩個值在後面的從伺服器的時候需要用到。

3)配置從伺服器

  1. vim/etc/my.cnf  
  2. log-bin=mysql-bin  
  3. server-id=2此id不能和master一致  

配置完成後重啟mysql服務

4)登入mysql

服務,配置同步

  1. mysql>  change master to
  2.     -> master_host='192.168.1.70',  
  3.     -> master_user='myslave',  
  4.     -> master_password='123456',  
  5.     -> master_port=3306,  
  6.     -> master_log_file='mysql-bin.000003',  
  7.     -> master_log_pos=603;  
  8. Query OK, 0rows affected, 2 warnings (0.01 sec)  

如果出現兩個yes證明已經成功
5)配置1.80成為1.70的主伺服器(主主同步)從伺服器操作
mysql> grant replication slave on *.* to [email protected]'192.168.1.70' identified by '123456';
mysql> flush privileges;


6)1.70去連線1.80資料庫


到這裡我們的主主同步已經完成了,接下來測試,在主上建立yankai的庫,檢視從是否同步


從伺服器驗證


在從上面建立CSDN庫在主上驗證



到這裡我們的主主同步就已經成功搭建了,我們看下架構圖走到了哪裡


九、部署Xcache為PHP加速(php-xcache1操作:1.50主機)

1、下載Xcache

  1. [[email protected] src]# wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
  2. [[email protected] src]# cd xcache-3.2.0/  
  3. [[email protected] xcache-3.2.0]#  /usr/local/php5.6/bin/phpize  使用phpize生成./configure檔案  
  4. [[email protected] xcache-3.2.0]# ./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer --with-php-config=/usr/local/php5.6/bin/php-config  && make && make install  
安裝完成之後,出現下面的介面,記住以下路徑,後面會用到

2)建立 xcache 快取檔案

  1. [[email protected] ~]# touch /tmp/xcache  
  2. [[email protected] ~]# chmod +777 /tmp/xcache  
3)拷貝 xcache 後臺管理程式到網站根目錄
  1. [[email protected] xcache-3.2.0]# cd /usr/local/src/xcache-3.2.0/  
  2. [[email protected] xcache-3.2.0]# cp -r htdocs/ /www/xcache  
4)配置 php 支援 xcache  
vi / etc/php.ini #編輯配置檔案,在最後一行新增以下內容

  1. [xcache-common]  
  2. extension = /usr/local/php5.6/lib/php/extensions/no-debug-zts-20131226/  
  3. [xcache.admin]  
  4. xcache.admin.enable_auth = Off  
  5. [xcache]  
  6. xcache.shm_scheme ="mmap"
  7. xcache.size=60M  
  8. xcache.count =1  
  9. xcache.slots =8K  
  10. xcache.ttl=0  
  11. xcache.gc_interval =0  
  12. xcache.var_size=64M  
  13. xcache.var_count =1  
  14. xcache.var_slots =8K  
  15. xcache.var_ttl=0  
  16. xcache.var_maxttl=0  
  17. xcache.var_gc_interval =300  
  18. xcache.test =Off  
  19. xcache.readonly_protection = Off  
  20. xcache.mmap_path ="/tmp/xcache"
  21. xcache.coredump_directory =""
  22. xcache.cacher =On  
  23. xcache.stat=On  
  24. xcache.optimizer =Off  
  25. [xcache.coverager]  
  26. xcache.coverager =On  
  27. xcache.coveragedump_directory =""

將 xcache 目錄拷貝到 Nginx主機的網頁文件目錄下(192.168.1.30)


重啟PHP測試:瀏覽器中輸入http://192.168.1.30/xcache



出現以上介面證明安裝成功,接下來我們使用ab工具來進行壓力測試
ab -c 500 -n 10000 http://192.168.1.30/index.php   


進行第二次壓力測試


-c請求 –n併發數

檢視xcache快取命中


以上是php1的xcache,在php2部署xcache的方式和上面一模一樣,這裡不在做演示。

十、搭建個人站點wordpress

在搭建個人站點之前我們會用到資料庫,所以我們接下來在資料庫中操作(1.70master)


資料庫操作完成後我們在Nginx1主機上安裝wordpress如下:

  1. [[email protected]1 ~]# tar zxf wordpress-4.9.1-zh_CN.tar.gz   
  2. [[email protected]1 ~]# mv wordpress/* /www/  
  3. [[email protected]1 ~]# cd /www/  
  4. [[email protected]1 www]# ls  

在Nginx1主機上給php1主機傳送/www目錄的所有檔案如下:


傳輸完成後我們訪問站點,http://192.168.1.30/





最後輸入使用者名稱密碼登入即可!


第二個站點和第一個安裝過程都是一樣的,這裡不在做演示了

web2搭建wordpress需要注意的地方:


訪問測試:

http://192.168.1.30 && http://192.168.1.40


測試訪問VIP地址是否正常


從上圖可以看出VIP地址可以訪問到我們的個人站點,但是我們怎麼測試它是否代理到後端了呢?在訪問頁面中怎麼才知道它是由後端的哪臺web提供的頁面呢?這時候我們可以通過訪問日誌來檢視。如下:

Nginx-web1:操作

  1. [[email protected]1 ~]# cd /usr/local/nginx/logs/  
  2. [[email protected]1 logs]# >access.log  
首先清空Nginx-web1主機上的訪問日誌,以及Nginx-web2的訪問日誌。

清空完成後我們再次通過VIP訪問-隨後檢視web伺服器的日誌資訊


檢視日誌


2、檢視web2日誌


再次重新整理頁面,檢視web2日誌


1.10就是我們的Nginx-cache-master主機,也就是前端的代理服務,說明一切都正常執行。

接下來我們看看我們在整個架構中走到了哪裡

前端的我們已經結束了,接下來就是後端的Mysql以及快取監控瞭如下:


後端的MySQL主從複製這裡不在做演示了,我這邊已經配置好了,主從複製的話可以參考中主主同步,都是一樣的。

十一、配置Memcached+Mysql實現快取

Memcached工作流程圖如下: