龙空技术网

Nginx stream模块实现tcp代理

留痕记忆 331

前言:

此时看官们对“nginx封装tcp”大致比较注重,兄弟们都需要剖析一些“nginx封装tcp”的相关资讯。那么小编同时在网摘上网罗了一些有关“nginx封装tcp””的相关资讯,希望你们能喜欢,咱们快快来学习一下吧!

1、nginx 和监控检查模块安装

 #当前环境 CentOS Linux release 8.3.2011 yum install -y git make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel  git clone ;git clone ; cd nginx git checkout branches/stable-1.16 git apply ../ngx_healthcheck_module/nginx_healthcheck_for_nginx_1.16+.patch  ./auto/configure \ --user=nginx \ --group=nginx \ --prefix=/usr/share/nginx \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_stub_status_module \ --with-stream \ --add-module=../ngx_healthcheck_module/  make -j 2 && make install  #创建nginx用户 useradd -s /sbin/nologin -M nginx
2. 简单的nginx配置
 cat /etc/nginx/nginx.conf  worker_processes auto; error_log       /var/log/nginx/error.log info;  events {     worker_connections  1024; }  http {     server {         listen 80;         # status interface         location /status {             healthcheck_status json;         }     } } #详细的健康检查模块使用说明:;stream {     upstream tcp_backend {         server 127.0.0.1:22     max_fails=5 fail_timeout=30s;         server 127.0.0.1:2200   max_fails=5 fail_timeout=30s;         check  interval=3000    rise=2 fall=5 timeout=5000 default_down=true type=tcp;     }      server {         listen 33220;         proxy_connect_timeout 10s;         proxy_timeout 30s;         proxy_pass tcp_backend;     } }
3. 效果验证

监控检查状态访问地址:

后端正常的状态:

所有后端正常情况的状态

模拟一个后端故障:更改ssh服务端口号

后端故障情况下的状态

日志的情况:/var/log/nginx/error.log,和配置文件中参数吻合

nginx的日志

标签: #nginx封装tcp