我正在使用 A2Hosting 的共享托管服务器,我想在其中运行 socket.io 服务器(应用程序),这是我到目前为止所做的:
- 通过 SSH 连接到服务器
- 已安装的 Node
- 运行/启动 socket.io 服务器(应用程序)
var server = require('http').createServer(),
io = require('socket.io')(server),
port = 58082;
server.listen(port, my - domain - name);
但是我的客户端(浏览器)无法连接到服务器。
我曾尝试在本地 Linux 机器上运行相同的 socket.io 服务器(应用程序),并且能够通过浏览器成功连接,因此问题出在共享主机服务器的配置上。
最佳答案
你快到了。缺少的一件事是您的 socket.io 应用程序与网络服务器的集成。为此,您需要一个 .htaccess
文件来重定向传入的请求。
在 public_html
目录中创建一个 .htaccess
文件并添加以下代码段。将 XXXXX
替换为 49152
和 65535
之间任何未使用的端口,这些是可用的。如果您的应用程序无法启动,请尝试不同的端口。
RewriteEngine On
RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]
如果您需要更详细的指南/资源:
关于javascript - 在共享主机上运行 socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532690/