日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

高可用集群下的负载均衡(5):haproxy的动静分离与读写分离

發布時間:2023/12/15 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高可用集群下的负载均衡(5):haproxy的动静分离与读写分离 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、haproxy動靜分離

實驗環境:

server2(haproxy):安裝 haproxy

server3(靜態服務器):在apache的默認發布目錄下創建一個 images目錄,并放一張圖片

server4(動態服務器):安裝php ,修改回 80 端口(之前做過端口轉發,所以需要改回來)

1. server4中進行設置

【1】安裝php

【2】/etc/httpd/conf/httpd.con 中修改端口

【3】vim index.php


【4】在頁面中進行訪問

2. server3 中進行設置

【1】創建一個/var/www/html/images 放置圖片


【2】在瀏覽器中訪問

3. server2 中修改配置文件

[root@server2 haproxy]# vim /etc/haproxy/haproxy.cfg

4. 測試



二、haproxy 讀寫分離

1 . 實現環境:

server2(haproxy):安裝 haproxy

server3(讀服務器):所有讀取的動作都在server3

舉例:上傳圖片時,在未點擊上傳時,一直時在server3中 安裝PHP 讀文件:在http默認發布目錄中建立upload目錄,并修改權限 ;將讀寫的php代碼放入默認發布目錄中

server4(寫服務器):寫入都在server4

舉例:點擊上傳后,是在server4中 寫文件:在http默認發布目錄中建立upload目錄,并修改權限 ;將讀寫的php代碼放入默認發布目錄中

2. 實驗

【1】建立upload目錄
此處以server4中為例,需要注意server3中也需要做此操作.

  • 刪除之前做動靜分離實驗時創建的index.php文件,將upload文件中的文件已到apache的默認發布目錄中

    【2】可讀寫的php代碼
[root@server2 html]# /var/www/html/index.php <html> <body><form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form></body> </html>[root@server2 html]# /var/www/html/upload_file.php <?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 60000000)){if ($_FILES["file"]["error"] > 0){echo "Return Code: " . $_FILES["file"]["error"] . "<br />";}else{echo "Upload: " . $_FILES["file"]["name"] . "<br />";echo "Type: " . $_FILES["file"]["type"] . "<br />";echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";if (file_exists("upload/" . $_FILES["file"]["name"])){echo $_FILES["file"]["name"] . " already exists. ";}else{move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);echo "Stored in: " . "upload/" . $_FILES["file"]["name"];}}} else{echo "Invalid file";} ?>

【3】修改配置文件

  • server2:
vim /etc/haproxy/haproxy.cfg[root@server3 haproxy]# vim /etc/haproxy/haproxy.cfg acl read_request method GETacl read_request method HEADacl write_request method PUTacl write_request method POSTuse_backend static if read_requestuse_backend app if write_requestdefault_backend static # default_backend app#--------------------------------------------------------------------- # static backend for serving up images, stylesheets and such #--------------------------------------------------------------------- backend staticbalance roundrobinserver static 172.25.15.3:80 check#--------------------------------------------------------------------- # round robin balancing between the various backends #--------------------------------------------------------------------- backend appbalance roundrobin# balance source# balance static-rrserver app1 172.25.15.3:80 check # server app2 172.25.14.5:80 checkserver backup 127.0.0.1:8000 backup

【4】測試

  • 選擇想要上傳的圖片(讀操作是在server3中)

  • 點擊Submit上傳后出現如下信息,顯示上傳成功(寫入到server4中了)

圖片是被上傳到了server4中的upload目錄中

總結

以上是生活随笔為你收集整理的高可用集群下的负载均衡(5):haproxy的动静分离与读写分离的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。