扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍“怎么使用nginx充当MySQL的负载均衡器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用nginx充当mysql的负载均衡器”文章能帮助大家解决问题。
创新互联从2013年成立,是专业互联网技术服务公司,拥有项目网站设计制作、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元慈溪做网站,已为上家服务,为慈溪各地企业和个人服务,联系电话:18980820575
说明: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监听的端口一样比如我使用的是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监听的一样 proxy_pass db; } upstream db { server 127.0.0.1:3306; server 192.168.233.1:3306; }
重启nginx, 查看nginx是否监听了3307端口
然后php代码是这样子
#其实就是new mysqli的时候只需改端口号与nginx反向代理设置的端口号一样就可以了 $mysqli = new mysqli('127.0.0.1','root','root','test',3307);
完整的php代码
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);
结果
关于“怎么使用nginx充当mysql的负载均衡器”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流