欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Nginx配置实现基于tcp协议的反向代理和负载均衡

程序员文章站 2022-04-24 10:46:04
...
1.安装环境

系统环境:centos6.3_x64

软件版本:nginx-1.4.2.tar.gz nginx_tcp_proxy_module-master.zip

2.软件安装cd /root/
wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.12/pcre-8.12.tar.gz
tar zxvf pcre-8.12.tar.gz
cd pcre-8.12/
./configure
make && make install
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
cd /root/
wget http://nginx.org/download/nginx-1.4.2.tar.gz
groupadd www
useradd -g www www
tar zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2/
# 到 https://github.com/yaoweibin/nginx_tcp_proxy_module 这个地址下载nginx_tcp_proxy_module模块
unzip nginx_tcp_proxy_module-master.zip
patch -p1
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.1c --add-module=/root/nginx-1.4.2/nginx_tcp_proxy_module-master
make && make install

3.nginx配置

# cat /usr/local/nginx/conf/nginx.conf
user www;
worker_processes 8; #等同于CPU核数
error_log logs/error.log;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 51200;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
client_header_buffer_size 4k;
large_client_header_buffers 4 16k;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_buffer_size 64k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
gzip on;
}
tcp {
#### dhserver ####
upstream dh {
server 192.168.5.83:26888;
server 192.168.5.84:26888;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 26888;
proxy_pass dh;
}
#### mainserver ####
upstream main {
server 192.168.5.85:8088;
server 192.168.5.86:8088;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 8088;
proxy_pass main;
}
#### files ####
upstream files1 {
server 192.168.5.93:30001;
server 192.168.5.94:30001;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 30001;
proxy_pass files1;
}
upstream files2 {
server 192.168.5.93:30002;
server 192.168.5.94:30002;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 30002;
proxy_pass files2;
}

}

PS:之前做了大量的NGINX代理测试,转发基于端口的服务,但是都以失败告终,只有这种方法可以尝试使用。

另已安装NGINX的服务器,可能需要卸载重装,因为打补丁阶段是在安装包里打的,至少目前为止我还没找到在已安装好的nginx服务上打补丁。README里也只是介绍在安装包下面打补丁。

以上就介绍了Nginx配置实现基于tcp协议的反向代理和负载均衡,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Nginx配置实现基于tcp协议的反向代理和负载均衡

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。