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.gztar zxvf pcre-8.12.tar.gzcd pcre-8.12/./configuremake && make installcd /usr/local/srcwget http://www.openssl.org/source/openssl-1.0.1c.tar.gztar -zxvf openssl-1.0.1c.tar.gzcd /root/wget http://nginx.org/download/nginx-1.4.2.tar.gzgroupadd wwwuseradd -g www wwwtar zxvf nginx-1.4.2.tar.gzcd nginx-1.4.2/ # 到 https://github.com/yaoweibin/nginx_tcp_proxy_module 这个地址下载nginx_tcp_proxy_module模块unzip nginx_tcp_proxy_module-master.zippatch -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教程有兴趣的朋友有所帮助。
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn