এই অ্যাড এর @Andrew মস কিভাবে সঠিকভাবে কনফিগার করতে হিসাবে 'উত্তর VirtualHost
socket.io 1.0 এর সাথে কাজ করা! CentOS সম্পর্কে অংশ বাম নির্দ্বিধায়!
আপনি CentOS 6 এ আটকে থাকলে এটি কীভাবে করবেন তা এখানে:
mod_proxy_wstunnel
মডিউলটির জন্য ব্যাকপোর্টেড উত্সটি এখানে ডাউনলোড করুন (হয় জিস্ট ক্লোন করুন বা পৃথকভাবে ফাইলগুলি ডাউনলোড করুন)
- নির্মাণের জন্য প্রয়োজনীয় সমস্ত কিছু ইনস্টল করুন:
yum install make gcc httpd-devel
- একটি আরপিএম বিল্ড এনভায়রনমেন্ট সেটআপ করুন (মূলত একটি অনিবদ্ধ ব্যবহারকারী এবং কিছু ডিরেক্টরি)
- অনুলিপি
.c
মধ্যে -file SOURCES
পরিবেশের subfolder এবং .spec
মধ্যে -file SPECS
subfolder।
- চালান
rpmbuild -ba mod_proxy_wstunnel.spec
- প্যাকেজটি এখন
SRPMS
সাবফোল্ডারে রয়েছে
- প্যাকেজ ইনস্টল করুন:
rpm -i /path/to/package.rpm
- মুনাফা
এটি অ্যাপাচে মডিউলটি স্বয়ংক্রিয়ভাবে লোড করবে, সুতরাং আপনাকে এটির সাথে পুনরায় আরম্ভ করতে হবে service httpd restart
।
সেট আপ হচ্ছে একটি VirtualHost
আসলে সেবা করার Socket.io সার্ভার এবং ক্লায়েন্ট-স্ক্রিপ্ট (যা ডিফল্ট প্রাপ্তিসাধ্য অধীনে হয় http://your.server/socket.io/socket.io.js
) একটি বিট আরো একটি কারণে এ্যাপাচি 2.2 উপর জটিল মধ্যে Bug mod_proxy
মডিউল :
নিম্নলিখিত পুনর্লিখনের নিয়ম দেওয়া:
RewriteRule ^/ws(.*)$ ws://localhost:9000/ws [P]
mod_rewrite
অ্যাক্সেস লগ দেখায় তাই এটি একটি ফাইলপথ ব্যবহার করে:
[26/Sep/2013:09:46:07 -0400] "GET /ws://localhost:9000/ws HTTP/1.1" 400 317
সুতরাং, আপনি পুনর্লিখনের নিয়মে -প্রোটোকলটি ব্যবহারws
করতে পারবেন না কারণ এটি অভ্যন্তরীণভাবে একটি HTTP GET অনুরোধে রূপান্তরিত হবে।
যদিও একটি কার্যনির্বাহী রয়েছে:
<VirtualHost *:80>
ServerName your.server
# Proxy socket.io Websocket
RewriteEngine On
# socket.io 1.0+ starts all connections with an HTTP polling request
RewriteCond %{QUERY_STRING} transport=polling [NC]
RewriteRule /(.*) http://localhost:8081/$1 [P]
ProxyRequests Off
# Explicitly send the request for the client-script to HTTP:
ProxyPass /socket.io/socket.io.js http://localhost:8081/socket.io/socket.io.js
ProxyPassReverse /socket.io/socket.io.js http://localhost:8081/socket.io/socket.io.js
# Anything else goes to the WebSocket protocol:
ProxyPass /socket.io/ ws://localhost:8081/socket.io/
ProxyPassReverse /socket.io/ ws://localhost:8081/socket.io/
# Any additional stuff (the actual site) comes here
ProxyPass / http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
</VirtualHost>
এই সবকিছু পাঠানো নিশ্চিত করুন যে করে তোলে /socket.io
যায় ws://
, -protocol দীর্ঘ পোলিং জন্য অনুরোধ এবং ক্লায়েন্ট-লাইব্রেরির জন্য অনুরোধ (যা একটি ফলব্যাক প্রক্রিয়া যখন ওয়েবসকেট পাওয়া যায় না হয়) ব্যতীত।
./buildconfig
করার পরে কনফিগার ফাইল তৈরি করতে আমাকে দৌড়াতে হয়েছিল। এবং একটি দম্পতি নির্ভরতা ছিল যা এটি আমাকে ইনস্টল করতে বলেছিল।