কোনও ভয় নেই, কারণ অপ্স প্রোগ্রামারদের একটি সাহসী গোষ্ঠী একটি ব্র্যান্ডের সাথে নতুন nginx_tcp_proxy_module ছড়িয়ে দিয়ে পরিস্থিতি সমাধান করেছে
আগস্ট 2012-এ লিখিত, সুতরাং আপনি যদি ভবিষ্যতে হন তবে আপনার হোমওয়ার্ক করা উচিত।
পূর্বশর্ত
ধরে নিই আপনি সেন্টোস ব্যবহার করছেন:
- এনজিআইএনএক্সের বর্তমান উদাহরণটি সরান (এর জন্য ডেভ সার্ভার ব্যবহারের পরামর্শ দিন)
- যদি সম্ভব হয় তবে আপনার পুরানো এনজিআইএনএক্স কনফিগারেশন ফাইলগুলি সংরক্ষণ করুন যাতে আপনি সেগুলি পুনরায় ব্যবহার করতে পারেন (এতে আপনার
init.d/nginx
স্ক্রিপ্ট রয়েছে )
yum install pcre pcre-devel openssl openssl-devel
এবং এনজিআইএনএক্স নির্মাণের জন্য অন্য কোনও প্রয়োজনীয় libs
- এখানে গিটহাব থেকে এনজিনেক্স_টিসিপি_প্রক্সি_মডিউল https://github.com/yaoweibin/nginx_tcp_proxy_module পান এবং আপনি যে ফোল্ডারটি রেখেছেন তা মনে রাখবেন (নিশ্চিত করুন এটি জিপ করা হয়নি)
আপনার নতুন এনজিআইএনএক্স তৈরি করুন
আবার, 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;
}
}