怎么使用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 Docker环境搭建教程_Laravel Sail使用指南
Laravel如何生成API文档?(Swagger/OpenAPI教程)
C语言设计一个闪闪的圣诞树
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
如何在宝塔面板创建新站点?
Java类加载基本过程详细介绍
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
网站建设要注意的标准 促进网站用户好感度!
网站页面设计需要考虑到这些问题
Android实现代码画虚线边框背景效果
昵图网官网入口 昵图网素材平台官方入口
如何用IIS7快速搭建并优化网站站点?
Laravel如何使用Eloquent进行子查询
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何确保西部建站助手FTP传输的安全性?
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
如何解决hover在ie6中的兼容性问题
Laravel如何创建自定义Artisan命令?(代码示例)
Laravel distinct去重查询_Laravel Eloquent去重方法
如何在宝塔面板中修改默认建站目录?
jQuery 常见小例汇总
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
如何破解联通资金短缺导致的基站建设难题?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
java中使用zxing批量生成二维码立牌
开心动漫网站制作软件下载,十分开心动画为何停播?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
zabbix利用python脚本发送报警邮件的方法
如何在云指建站中生成FTP站点?
高端建站如何打造兼具美学与转化的品牌官网?
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
如何用y主机助手快速搭建网站?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
如何确保FTP站点访问权限与数据传输安全?
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
html如何与html链接_实现多个HTML页面互相链接【互相】
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Python自动化办公教程_ExcelWordPDF批量处理案例
如何注册花生壳免费域名并搭建个人网站?
电商网站制作价格怎么算,网上拍卖流程以及规则?
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全


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