欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用nginx充當mysql的負載均衡器

 更新時間:2019年06月26日 11:02:29   作者:吾名鋒仔  
這篇文章主要介紹了使用nginx充當mysql的負載均衡器過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

說明:nginx版本要求是1.9以上 ,編譯nginx的時候需要加上 --with-stream

如:

./configure --prefix=/Data/apps/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-stream

注意

1.因為mysql默認使用了3306端口所以配置nginx tcp反向代理mysql的時候注意端口不要與mysql監(jiān)聽的端口一樣比如我使用的是3307

2.確保能root用戶能遠程連接mysql

如數據庫mysql 表user

nginx.conf

此段代碼追加在nginx.conf文件末尾,注意不能加在http{}內

stream{
include /Data/apps/nginx/conf/stream/*.conf;
}

stream/db.conf

server {
listen 3307; #注意端口不能跟mysql監(jiān)聽的一樣
proxy_pass db;
}
upstream db {
server 127.0.0.1:3306;
server 192.168.233.1:3306;
}

重啟nginx, 查看nginx是否監(jiān)聽了3307端口

然后php代碼是這樣子

#其實就是new mysqli的時候只需改端口號與nginx反向代理設置的端口號一樣就可以了
$mysqli = new mysqli('127.0.0.1','root','root','test',3307);

完整的php代碼

<?php
class MysqlClass
{
private static $obj = NULL; //mysqlclass對象
public $host;
public $database;
public $user;
public $pwd;
public $port;
public $mysqli = NULL;
//禁止對象被克隆
private function __clone(){}
//禁止外部實例化
private function __construct($host="127.0.0.1",$database="test",$user="root",$pwd="root",$port="3307")
{
$this->host = $host;
$this->database = $database;
$this->user = $user;
$this->pwd = $pwd;
$this->port = $port;
$this->mysqli = $this->db_connect();
}
//獲取mysqli連接
private function db_connect()
{
$mysqli = new mysqli($this->host,$this->user,$this->pwd,$this->database,$this->port);
if($mysqli->connect_errno)
{
printf("Connect failed: %s\n", $mysqli->connect_errno);
exit();
}
$mysqli->query("set names utf8 ");
return $mysqli;
}
//獲取db實例
public static function get_db()
{
if(self::$obj === NULL)
{
self::$obj = new self();
}
return self::$obj;
}
public function db_query($sql)
{
$result = $this->mysqli->query($sql);
$arr = [];
while ($row = $result->fetch_assoc()) {
$arr[] = $row;
}
$result->close();
$this->mysqli->close();
return $arr;
}
public function db_insert()
{
}
public function db_update()
{
}
public function __destruct() {
$this->mysqli->close();
}
}
$db = MysqlClass::get_db();
$r = $db->db_query("show tables");
var_dump($r);

結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 解析阿里云centos7服務器nginx配置及常見問題解答

    解析阿里云centos7服務器nginx配置及常見問題解答

    這篇文章主要介紹了阿里云centos7服務器nginx配置及常見問題解答,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 使用Nginx解決跨域訪問問題的完整案例

    使用Nginx解決跨域訪問問題的完整案例

    在現代的Web開發(fā)中,跨域訪問是一種常見的需求,由于瀏覽器的同源策略,不同域名之間的訪問存在一定的限制,本文將介紹如何使用Nginx來解決跨域訪問的問題,并通過一個完整的實例來展示,需要的朋友可以參考下
    2024-03-03
  • nginx多l(xiāng)ocation配置實例代碼

    nginx多l(xiāng)ocation配置實例代碼

    公司測試環(huán)境使用nginx部署多個前端項目,下面這篇文章主要給大家介紹了關于nginx多l(xiāng)ocation配置的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • 關于nginx+uWsgi配置遇到的問題的解決

    關于nginx+uWsgi配置遇到的問題的解決

    uWSGI 是在像 nginx 、 lighttpd 以及 cherokee 服務器上的一個部署的選擇,本篇文章主要介紹了關于nginx+uWsgi配置遇到的問題的解決,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • nginx優(yōu)化的六點方法

    nginx優(yōu)化的六點方法

    這篇文章主要介紹了nginx優(yōu)化的六點方法,有對nginx優(yōu)化不太熟悉的同學可以參考下
    2021-01-01
  • Prometheus監(jiān)控實戰(zhàn)篇Nginx、Hbase操作詳解

    Prometheus監(jiān)控實戰(zhàn)篇Nginx、Hbase操作詳解

    這篇文章主要介紹了Prometheus監(jiān)控實戰(zhàn)篇Nginx、Hbase,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • 使用Nginx部署Vue項目全過程及踩坑記錄

    使用Nginx部署Vue項目全過程及踩坑記錄

    這篇文章主要介紹了使用Nginx部署Vue項目全過程及踩坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 配置Nginx服務器防止Flood攻擊的方法

    配置Nginx服務器防止Flood攻擊的方法

    這篇文章主要介紹了配置Nginx服務器防止Flood攻擊的方法,包括PHP的應用請求限制等降低負載的措施,需要的朋友可以參考下
    2015-06-06
  • Nginx配置proxy_pass后返回404的問題及解決

    Nginx配置proxy_pass后返回404的問題及解決

    這篇文章主要介紹了Nginx配置proxy_pass后返回404的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Nginx跨域問題解析與解決

    Nginx跨域問題解析與解決

    本地運行一個項目,要訪問外域的api接口,存在跨域問題,下面這篇文章主要給大家介紹了關于如何使用Nginx解決跨域問題的相關資料,文中介紹的非常詳細,需要的朋友可以參考下
    2022-08-08

最新評論