怎么使用nginx充当mysql的负载均衡器
发布时间 - 2023-05-18 00:00:00 点击率:次说明: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代码是这样子
#其实就是newmysqli的时候只需改端口号与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);结果
# mysql
# nginx
# 的是
# 端口号
# 只需
# 这样子
# 重启
# 加在
# 就可以
# 使用了
# db
# server
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
教你用AI将一段旋律扩展成一首完整的曲子
移动端脚本框架Hammer.js
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
详解Android中Activity的四大启动模式实验简述
西安专业网站制作公司有哪些,陕西省建行官方网站?
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何快速搭建二级域名独立网站?
如何正确选择百度移动适配建站域名?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
如何在橙子建站中快速调整背景颜色?
如何在云服务器上快速搭建个人网站?
Laravel如何实现API资源集合?(Resource Collection教程)
Laravel如何使用Blade组件和插槽?(Component代码示例)
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel如何使用Vite进行前端资源打包?(配置示例)
如何在阿里云完成域名注册与建站?
Python数据仓库与ETL构建实战_Airflow调度流程详解
如何用西部建站助手快速创建专业网站?
如何安全更换建站之星模板并保留数据?
Laravel如何实现事件和监听器?(Event & Listener实战)
如何在建站之星网店版论坛获取技术支持?
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
如何快速建站并高效导出源代码?
如何快速搭建FTP站点实现文件共享?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
Angular 表单中正确绑定输入值以确保提交与验证正常工作
如何在Windows 2008云服务器安全搭建网站?
javascript中的try catch异常捕获机制用法分析
太平洋网站制作公司,网络用语太平洋是什么意思?
专业商城网站制作公司有哪些,pi商城官网是哪个?
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
如何快速重置建站主机并恢复默认配置?
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
如何快速生成专业多端适配建站电话?
如何在万网利用已有域名快速建站?
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
如何快速搭建高效香港服务器网站?
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
Laravel怎么上传文件_Laravel图片上传及存储配置


mysqli的时候只需改端口号与nginx反向代理设置的端口号一样就可以了
$mysqli = new mysqli('127.0.0.1','root','root','test',3307);