소켓을 통해 통신하는 인터페이스가 있습니다. Peer 서버에 접근하는데 IP 제한이 있어서 Peer 서버에 접근할 수 있는 권한이 있기 때문에 Springboard 머신을 사용해야 합니다. nginx1.9에서는 스트림을 통해 구현되는 TCP 레이어 포워딩을 지원하기 시작하며, 소켓 역시 TCP 통신을 기반으로 합니다.
구현 프로세스:
1. 스트림 모듈은 기본적으로 설치되지 않습니다. –with-stream을 선택하세요. 시스템 버전.
2.nginx.conf 구성, 설명 참조: ngx_stream_core_module
nginx.conf
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { ................. } # tcp层转发的配置文件夹 include /etc/nginx/tcp.d/*.conf;
스트림 구성은 http에 배치할 수 없습니다. 즉, /etc/nginx에 배치할 수 없습니다. /conf.d/, Stream은 http 전달이 아닌 tcp 계층을 통해 전달되기 때문입니다.
http로 구성된 경우 nginx를 시작할 때 다음 오류가 보고됩니다.
nginx: [emerg] "server" directive is not allowed here
3. 다음 내용으로 tcp.d 아래에 새 bss_num_30001.conf 파일을 만듭니다.
stream { # 添加socket转发的代理 upstream bss_num_socket { hash $remote_addr consistent; # 转发的目的地址和端口 server 130.51.11.33:19001 weight=5 max_fails=3 fail_timeout=30s; } # 提供转发的服务,即访问localhost:30001,会跳转至代理bss_num_socket指定的转发地址 server { listen 30001; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass bss_num_socket; } }
4 nginx를 다시 시작하고 방문합니다. localhost:30001 , bss_num_socket에 지정된 전달 주소 130.51.11.33:19001로 점프합니다.
더 많은 Nginx 관련 기술 기사를 보려면 Nginx 사용법 튜토리얼 칼럼을 방문하여 알아보세요!
위 내용은 nginx는 소켓을 지원합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!