说明:nginx版本要求是1.9以上,编译nginx的时候需要加上——拥有流
./configure——prefix=/数据/应用程序/nginx——with-http_stub_status_module with-http_ssl_module——with-http_realip_module——with-http_image_filter_module——拥有流
1。因为mysql默认使用了3306端口所以配置nginx tcp反向代理mysql的时候注意端口不要与mysql监听的端口一样比如我使用的是3307
2。确保能根用户能远程连接mysql
如数据库mysql表用户
<强> nginx。参看强>
此段代码追加在nginx。参看文件末尾注,意不能加在http{}内
流{ 包括/数据/应用程序/nginx/conf/流/* . conf; }
<>强流/db。参看
强>
服务器{ 听3307;#注意端口不能跟mysql监听的一样 proxy_pass数据库; } 上游db { 服务器127.0.0.1:3306; 服务器192.168.233.1:3306; }
重启nginx,查看nginx是否监听了3307端口
然后php代码是这样子
#其实就是新mysqli的时候只需改端口号与nginx反向代理设置的端口号一样就可以了 美元mysqli=new mysqli(127.0.0.1,‘根’,‘根’,‘测试’,3307年),>之前<强>完整的php代码强>
& lt; & # 63; php 类MysqlClass { 私有静态obj美元=零;//mysqlclass对象 公共主机美元; 公共数据库美元; 公共用户美元; 公共$ pwd; 公共美元港口; 公共美元mysqli=零;//禁止对象被克隆 私有函数__clone () {}//禁止外部实例化 私有函数__construct(主机=?27.0.0.1,数据库美元=安馐浴?$ user="根",$ pwd=案?港口美元=" 3307 ") { $ this→主机=$主机; $ this→数据库=$数据库; $ this→用户=$用户; $ this→pwd=$ pwd; $ this→端口=$端口; $ this→mysqli=$这→db_connect (); }//获取mysqli连接 私人db_connect()函数 { (mysqli=new mysqli美元这→主机、$ this→用户、$ this→pwd, $ this→数据库,$ this→端口); 如果($ mysqli→connect_errno) { printf(“连接失败:% s \ n”, mysqli→美元connect_errno); 退出(); } 美元mysqli→查询(“名字utf8 "); 返回mysqli美元; }//获取db实例 公共静态get_db()函数 { 如果(self:: $ obj===NULL) { 自我::$ obj=新的自我(); } 返回self:: $ obj; } 公共函数db_query (sql)美元 { 结果=这→美元mysqli→查询($ sql); arr=[]美元; 而(行=结果→美元fetch_assoc ()) { arr[]=美元行; } 结果→美元close (); $ this→mysqli→close (); 返回由美元; } 公共函数db_insert () { } 公共函数db_update () { } 公共函数__destruct () { $ this→mysqli→close (); } } $ db=MysqlClass: get_db (); $ r=$ db→db_query(“显示表”); var_dump ($ r);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
如何使用nginx充当mysql的负载均衡器