搭建企業web叢集架構配置詳解
到這裡我們的MySQL正式安裝完畢!在192.168.1.80 slave主機上安裝MySQL和上面一樣 這裡不再做演示,在這裡我slave主機已經安裝好了
八、配置MySQL主主同步之高可用
- vim /etc/my.cnf
- log-bin=mysql-bin
- server-id=1
2)登入mysql伺服器給從伺服器授權
-
mysql> grant replication slave on *.* to [email protected]
- mysql> flush privileges;
- 檢視xcache快取命中mysql> -c請求 –n併發數show master status;
其中file列顯示日誌名,position列顯示偏移量,這兩個值在後面的從伺服器的時候需要用到。
3)配置從伺服器
- vim/etc/my.cnf
- log-bin=mysql-bin
- server-id=2此id不能和master一致
配置完成後重啟mysql服務
4)登入mysql
- mysql> change master to
- -> master_host='192.168.1.70',
- -> master_user='myslave',
- -> master_password='123456',
- -> master_port=3306,
- -> master_log_file='mysql-bin.000003',
- -> master_log_pos=603;
-
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
- [[email protected] src]# wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
- [[email protected] src]# cd xcache-3.2.0/
- [[email protected] xcache-3.2.0]# /usr/local/php5.6/bin/phpize 使用phpize生成./configure檔案
- [[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 快取檔案
- [[email protected] ~]# touch /tmp/xcache
- [[email protected] ~]# chmod +777 /tmp/xcache
- [[email protected] xcache-3.2.0]# cd /usr/local/src/xcache-3.2.0/
- [[email protected] xcache-3.2.0]# cp -r htdocs/ /www/xcache
vi / etc/php.ini #編輯配置檔案,在最後一行新增以下內容
- [xcache-common]
- extension = /usr/local/php5.6/lib/php/extensions/no-debug-zts-20131226/
- [xcache.admin]
- xcache.admin.enable_auth = Off
- [xcache]
- xcache.shm_scheme ="mmap"
- xcache.size=60M
- xcache.count =1
- xcache.slots =8K
- xcache.ttl=0
- xcache.gc_interval =0
- xcache.var_size=64M
- xcache.var_count =1
- xcache.var_slots =8K
- xcache.var_ttl=0
- xcache.var_maxttl=0
- xcache.var_gc_interval =300
- xcache.test =Off
- xcache.readonly_protection = Off
- xcache.mmap_path ="/tmp/xcache"
- xcache.coredump_directory =""
- xcache.cacher =On
- xcache.stat=On
- xcache.optimizer =Off
- [xcache.coverager]
- xcache.coverager =On
- 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如下:
- [[email protected]1 ~]# tar zxf wordpress-4.9.1-zh_CN.tar.gz
- [[email protected]1 ~]# mv wordpress/* /www/
- [[email protected]1 ~]# cd /www/
- [[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:操作
- [[email protected]1 ~]# cd /usr/local/nginx/logs/
- [[email protected]1 logs]# >access.log
清空完成後我們再次通過VIP訪問-隨後檢視web伺服器的日誌資訊
檢視日誌
2、檢視web2日誌
再次重新整理頁面,檢視web2日誌
1.10就是我們的Nginx-cache-master主機,也就是前端的代理服務,說明一切都正常執行。
接下來我們看看我們在整個架構中走到了哪裡
前端的我們已經結束了,接下來就是後端的Mysql以及快取監控瞭如下:
後端的MySQL主從複製這裡不在做演示了,我這邊已經配置好了,主從複製的話可以參考中主主同步,都是一樣的。
十一、配置Memcached+Mysql實現快取
Memcached工作流程圖如下: