濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何使用nginx充當(dāng)mysql的負(fù)載均衡器

如何使用nginx充當(dāng)mysql的負(fù)載均衡器

熱門標(biāo)簽:征服者快捷酒店地圖標(biāo)注 咸陽穩(wěn)定外呼系統(tǒng)公司 貴港市機器人外呼系統(tǒng)團隊 蕪湖呼叫中心外呼系統(tǒng)哪家強 ec外呼系統(tǒng)怎么樣 天津外呼系統(tǒng)運營商 電銷機器人怎么錄音 漯河電銷外呼系統(tǒng)價格 貴陽語音電銷機器人

說明: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默認(rèn)使用了3306端口所以配置nginx tcp反向代理mysql的時候注意端口不要與mysql監(jiān)聽的端口一樣比如我使用的是3307

2.確保能root用戶能遠(yuǎn)程連接mysql

如數(shù)據(jù)庫mysql 表user

nginx.conf

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

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反向代理設(shè)置的端口號一樣就可以了
$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);

結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:濰坊 淮北 西寧 怒江 東營 香港 攀枝花 西藏

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何使用nginx充當(dāng)mysql的負(fù)載均衡器》,本文關(guān)鍵詞  如何,使用,nginx,充當(dāng),mysql,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何使用nginx充當(dāng)mysql的負(fù)載均衡器》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何使用nginx充當(dāng)mysql的負(fù)載均衡器的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    眉山市| 西安市| 澄江县| 调兵山市| 商洛市| 定远县| 磐安县| 昌平区| 黎川县| 茌平县| 图木舒克市| 建阳市| 子洲县| 永川市| 邢台市| 西丰县| 灵宝市| 巴林左旗| 新和县| 客服| 汪清县| 漳浦县| 望江县| 孟津县| 建瓯市| 宁乡县| 洞口县| 田林县| 广南县| 灵山县| 会昌县| 海丰县| 克什克腾旗| 镶黄旗| 皋兰县| 含山县| 南华县| 锦州市| 嵊泗县| 东阿县| 扶绥县|