कोई डर नहीं है, क्योंकि ऑप्स प्रोग्रामर्स के एक बहादुर समूह ने नए nginx_tcp_proxy_module स्पेंकिंग ब्रांड के साथ स्थिति को हल किया है
अगस्त 2012 में लिखा गया था, इसलिए यदि आप भविष्य से हैं तो आपको अपना होमवर्क करना चाहिए।
आवश्यक शर्तें
मान लें कि आप CentOS का उपयोग कर रहे हैं:
- NGINX का वर्तमान उदाहरण निकालें (इसके लिए dev सर्वर का उपयोग करने का सुझाव दें)
- यदि संभव हो, तो अपनी पुरानी NGINX कॉन्फिग फाइलों को सेव करें ताकि आप उन्हें फिर से इस्तेमाल कर सकें (जिसमें आपकी
init.d/nginx
स्क्रिप्ट शामिल है )
yum install pcre pcre-devel openssl openssl-devel
और NGINX के निर्माण के लिए कोई अन्य आवश्यक कार्य
- जाओ nginx_tcp_proxy_module यहाँ GitHub से https://github.com/yaoweibin/nginx_tcp_proxy_module और फोल्डर याद जहां आप इसे रख दिया गया (सुनिश्चित करें कि यह ज़िपित नहीं है)
अपनी नई NGINX बनाएँ
फिर, मान लेता है CentOS:
cd /usr/local/
wget 'http://nginx.org/download/nginx-1.2.1.tar.gz'
tar -xzvf nginx-1.2.1.tar.gz
cd nginx-1.2.1/
patch -p1 < /path/to/nginx_tcp_proxy_module/tcp.patch
./configure --add-module=/path/to/nginx_tcp_proxy_module --with-http_ssl_module
(यदि आपको उनकी आवश्यकता हो तो और मॉड्यूल जोड़ सकते हैं)
make
make install
वैकल्पिक:
sudo /sbin/chkconfig nginx on
Nginx सेट करें
यदि आप उन्हें फिर से उपयोग करना चाहते हैं, तो पहले अपने पुराने कॉन्फ़िगरेशन फ़ाइलों पर कॉपी करना याद रखें।
महत्वपूर्ण: आपको tcp {}
अपने आत्मविश्वास में उच्चतम स्तर पर एक निर्देश बनाने की आवश्यकता होगी । सुनिश्चित करें कि यह आपके http {}
निर्देश के अंदर नहीं है ।
नीचे दिया गया उदाहरण विन्यास एक एकल अपस्ट्रीम वेबसोकेट सर्वर और एसएसएल और नॉन-एसएसएल दोनों के लिए दो प्रॉक्सी दिखाता है।
tcp {
upstream websockets {
## webbit websocket server in background
server 127.0.0.1:5501;
## server 127.0.0.1:5502; ## add another server if you like!
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
server_name _;
listen 7070;
timeout 43200000;
websocket_connect_timeout 43200000;
proxy_connect_timeout 43200000;
so_keepalive on;
tcp_nodelay on;
websocket_pass websockets;
websocket_buffer 1k;
}
server {
server_name _;
listen 7080;
ssl on;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.key;
timeout 43200000;
websocket_connect_timeout 43200000;
proxy_connect_timeout 43200000;
so_keepalive on;
tcp_nodelay on;
websocket_pass websockets;
websocket_buffer 1k;
}
}