• Nginx代理MySQL的配置


    把nginx代理mysql,需要添加stream模块  

    stream用于TCP/UDP数据流的代理和负载均衡,转发TCP消息。

    ngx_stream_core_module模块由1.9.0版提供。 

    进入nginx的sbin目录 。./nginx -V 查看是否安装stream模块。

    已经安装stream会显示--with-stream ,否则就是没有安装。

    1. $ cd /usr/local/nginx/sbin/
    2. $ ./nginx -V
    3. nginx version: nginx/1.21.0
    4. built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
    5. configure arguments: --with-stream

    如果没有安装stream模块,则要安装下。

    到nginx的解压目录,进行配置( ./configure  --with-stream),编译(make)。

    如果之前没有安装nginx的话,全新安装则时行配置( ./configure  --with-stream),编译(make),安装(make install)

    1. $ cd /usr/local/nginx-1.21.0
    2. $ ./configure   --with-stream
    3. .....
    4. $ make

    新编译后的 nginx在 objs里, 先到/usr/local/nginx/sbin/目录 停掉ningx,

    备份下nginx 。如果全新安装就不用备份了。

    1. $ cd /usr/local/nginx/sbin/
    2. $ ./nginx -s stop
    3. $ cp nginx nginx.bak

    把新的nginx复制过来(全新安装不需要)。

    $ cp /usr/local/nginx-1.21.0/objs/nginx /usr/local/nginx/sbin/
    

    修改配置文件

    vi /usr/local/nginx/conf/nginx.conf

    代理192.168.0.2 和 192.168.0.3 分别用本服务器ip:25674 ,25675访问。配置如下:

    1. #user nobody;
    2. user root;
    3. worker_processes 1;
    4. #error_log logs/error.log;
    5. #error_log logs/error.log notice;
    6. #error_log logs/error.log info;
    7. #pid logs/nginx.pid;
    8. events {
    9. worker_connections 1024;
    10. }
    11. stream {
    12. upstream cloudsocket {
    13. hash $remote_addr consistent;
    14. server 192.168.0.2:3306 weight=5 max_fails=3 fail_timeout=30s;
    15. }
    16. server {
    17. listen 25674; # 数据库服务器监听端口
    18. proxy_connect_timeout 10s;
    19. proxy_timeout 300s; # 设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
    20. proxy_pass cloudsocket;
    21. }
    22. upstream cloudsocket2 {
    23. hash $remote_addr consistent;
    24. server 192.168.0.3:3306 weight=5 max_fails=3 fail_timeout=30s;
    25. }
    26. server {
    27. listen 25675; # 数据库服务器监听端口
    28. proxy_connect_timeout 10s;
    29. proxy_timeout 300s; # 设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
    30. proxy_pass cloudsocket2;
    31. }
    32. }
    33. http {}

    启动nginx

    1. $ cd /usr/local/nginx/sbin/
    2. $ ./nginx

    完成。

  • 相关阅读:
    线程是什么?线程的相关概念以及基本的使用方法说明【内附可执行源码注释完整】
    FlatBuffers 转换数据字节为JSON字符串的格式。
    大模型从入门到应用——LangChain:代理(Agents)-[代理执行器(Agent Executor):处理解析错误、访问中间步骤和限制最大迭代次数]
    linux修改最大线程数却未生效的原因
    MySQL学习笔记2
    Groovy XML JSON
    C++Day6
    3.Gin 框架中的路由简要说明
    Java 和 C 中 测量代码耗时 最佳实践
    Vector
  • 原文地址:https://blog.csdn.net/u010953901/article/details/125898907