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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

nginx 实现mysql的负载均衡【转】

發布時間:2024/8/26 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx 实现mysql的负载均衡【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

默認Nginx只支持http的反向代理,要想nginx支持tcp的反向代理,還需要在編譯時增加tcp代理模塊支持,即nginx_tcp_proxy_module

下面操作步驟只讓nginx支持tcp_proxy,沒有加入prce、gzip、ssl等功能,如需要,可自行在編譯時加上相關參數。

wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip unzip mastertar -zxvf nginx-1.6.3.tar.gz cd nginx-1.6.3 patch -p1 < ../nginx_tcp_proxy_module-master/tcp.patch ./configure --add-module=../nginx_tcp_proxy_module-master --prefix=/usr/local/nginx-1.6.3 --with-http_stub_status_module --with-http_gzip_static_module make make install

?


nginx.conf主配置文件中增加如下配置配置:(也可以在主配置文件中配置include,包含tcp轉發的配置文件include /usr/local/nginx-1.6.3/conf/tcp_proxy.conf;)

user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }include /usr/local/nginx-1.6.3/conf/tcp_proxy.conf;http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 3306;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;}location /nginx_status {stub_status on;access_log logs/nginx_status.log;allow 10.195.197.124;deny all;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}

?

include /usr/local/nginx-1.6.3/conf/tcp_proxy.conf;

tcp {upstream mysql {server 10.207.238.66:3306;server 10.207.238.67:3306;check interval=3000 rise=2 fall=5 timeout=1000;#check interval=3000 rise=2 fall=5 timeout=1000#check interval=3000 rise=2 fall=5 timeout=1000#check_http_send "GET /HTTP/1.0\r\n\r\n";#check_http_expect_alive http_2xxhttp_3xx;}server { listen 3307;proxy_pass mysql;} }

?

說明:
check interval 健康檢查,單位是毫秒
rise 檢查幾次正常后,將reslserver加入以負載列表中
fall 檢查幾次失敗后,摘除realserver
timeout 檢查超時時間,單位許毫秒
具體可查看nginx_tcp_proxy_module-master/README,很詳細。

轉自

nginx 實現mysql的負載均衡 - ---張榮---的個人空間
https://my.oschina.net/ambari/blog/615203

轉載于:https://www.cnblogs.com/paul8339/p/6934266.html

總結

以上是生活随笔為你收集整理的nginx 实现mysql的负载均衡【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

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