如何使用nginx充当mysql的负载均衡器

  

说明: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充当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端口

  

如何使用nginx充当mysql的负载均衡器

  

然后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的负载均衡器

  

如何使用nginx充当mysql的负载均衡器

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

如何使用nginx充当mysql的负载均衡器