我正计划在Hostmonster上使用node的一个小爱好项目。现在,我知道Hostmonster适用于Apache,但我想方法是继续使用pm2运行node.js并手动编译节点。因此,简单的restAPI请求可以正常工作。
即,
//relay.example.com/r.php?arg1=val
$fp = fsockopen("localhost", 3001, $errno, $errstr, 5); if (!$fp) { echo "Error: $errno - $errstr"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: localhost\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); }
res.send
但是,我更愿意使用Websockets!为此,我需要想办法将传入的请求(GET / POST)路由到socket.io,然后让它们路由回客户端。我不认为我可以重新配置apache(因此尝试类似ProxyPass的东西,因为它没有安装在hostmonster上 - 或者如果它被标记为其他东西我就找不到它。
目前,我使用php relay script (fsockopen)将传入的请求路由到本地节点进程,并使用echo将信息发送回请求者。不是很漂亮,但它确实有效。
我想一个与socket.IO一起使用的系统理想情况下依赖于.htaccess
将websocket请求路由到本地端口上的本地节点进程。
我只是不知道如何通过Hostmonster来表达/破解我的方式来做到这一点!