1. Installation environment
System environment: centos6.3_x64
Software version: nginx-1.4.2.tar.gz nginx_tcp_proxy_module-master.zip
2. Software installationcd /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/ # Go to https://github.com/yaoweibin/nginx_tcp_proxy_module to download nginx_tcp_proxy_module Module unzip nginx_tcp_proxy_module-master.zippatch -p1 < /root/nginx-1.4.2/nginx_tcp_proxy_module-master/tcp.patch./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-mastermake && make install3.nginx configuration
# cat /usr/local/nginx/conf/nginx.confuser 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; } ; server { Listen 30002; PS: I have done a lot of NGINX proxy tests before and forwarded port-based services, but they all ended in failure. This is the only method you can try. In addition, servers that have NGINX installed may need to uninstall and reinstall, because the patching stage is done in the installation package. At least so far, I have not found a way to patch the installed nginx service. The README only introduces patching under the installation package.
The above introduces the Nginx configuration to implement reverse proxy and load balancing based on the TCP protocol, including the relevant aspects. I hope it will be helpful to friends who are interested in PHP tutorials.
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn