- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经获得了一个带有支持 nodejs 的 cpanel 的共享主机。我可以通过“设置 Node.js 应用程序”定义一个 node.js 应用程序。
我想做一个websocket。他们为我打开了 2088 端口。
这是我的 websocket 服务器代码:
const http = require('http');
const WebSocket = require('ws');
const server = http.createServer();
const wss = new WebSocket.Server({ server });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});
server.listen(2088);
socket = new WebSocket('ws://mydomain.com:2088');
socket.addEventListener('open', function (event) {
socket.send('Hello Server!');
});
socket.addEventListener('message', function (event) {
console.log('Message from server ', event.data);
});
最佳答案
对于从 cPanel UI 部署的 Node 应用程序,cPanel 依赖于 Passenger 来管理部署。当发送 WebSockets 连接请求时,客户端通过请求中的 Connection header 发送 HTTP 请求进行“升级”。乘客响应标准 HTTP 请求,但不对 Connection header 做任何事情,因此 WebSockets 请求实际上被忽略了。如果您在浏览器中打开 JS 调试器并检查 WebSockets 目标资源,您实际上可以看到这种情况。
Phusion 在 GitHub 上发布了一个使用 的 WebSockets 演示。 socket.io .在演示的 README 中,它指出 WebSockets 在Passenger 内部无法正常工作,因此它转而使用 HTTP 长轮询作为后备。但是,此回退是 中设计的功能。 socket.io 为了使其正常工作,Passenger 必须配置为使用粘性 session ,这是一个当前未在 cPanel 中的 UI 中公开的选项。
如果您想使用 node 作为 WebSockets 服务器,您将需要在Passenger 之外运行它,因此很可能需要退出共享托管环境。可以在 cPanel 上运行它,但如果您的帐户没有提升的 shell 权限,则不能。
编辑:
你的问题真的让我很困扰,所以我又花了几个小时来解决这个问题。如果您真的想从 cPanel 运行 Node WebSockets 服务器,您可以通过使用 调用服务器应用程序来完成此操作。永远 从您在 cPanel 应用程序管理器中注册的父应用程序。父应用程序将从Passenger 执行,然后您的服务器应用程序将通过 在Passenger 外部执行永远 .乘客会提示使用 Node 集群模块,但它仍然可以工作。
确保您的父应用程序响应 HTTP 请求,因为您需要发送至少一个请求以在Passenger 中实例化它。
关于node.js - 通过nodejs在共享cpanel主机上实现websocket服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59598607/
我已经在我的 cpanel 上安装了 bugzilla。但是在创建新错误时,它显示 406 错误 Not Acceptable An appropriate representation of the
我想为 *.abc.domain.com 等子域创建通配符子域。在cpanel中可以创建这样的域名吗? 此外,当我在主域(即 *.domain.com)上创建通配符子域时,cpanel.domain.
我需要做什么才能更改 cpanel 中的默认页面? 最佳答案 更新或创建 .htaccess 中的文件public_html 文件夹并制作以下内容.. DirectoryIndex index.p
当我为客户设置新的 cPanel 帐户(通过 WHM)时,我还设置了一个 Mandrill 帐户供客户用作其邮件服务器。 是否可以更改 cPanel 的“配置电子邮件客户端”部分中显示的邮件服务器信息
我正在按照以下网站上的说明进行操作 http://sendgrid.com/docs/Integrate/Mail_Servers/exim.html http://knowledgelayer.so
我从办公室收到了一项新任务,即使用 PHP View 页面登录 cpanel。登录后,我需要在cpanel中上传或删除文件。谁能帮我吗?我被我的工作困住了。 最佳答案 只需登录您的 cpanel 并查
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我试图从另一个 cpanel 帐户中托管的 cpanel 帐户的 SSH 下载文件,但只有当我登录源 cpanel 帐户时才能下载此文件,我在 WinCSP 客户端上使用 SSH 连接,并运行此文件命
我使用 cpanel 中的终端安装了 node.js,但是安装 node.js 应用程序图标没有显示在软件部分 最佳答案 这个问题似乎仍然出现在谷歌搜索中,所以让我回答一下。该按钮带有“CloudLi
我的存储库由网络托管商的 cPanel 管理。根据各种文档,您需要在 repo 的顶级目录中有一个 .cpanel.yml 文件,以将文件部署到生产目录中。虽然它不起作用。 这里是 .cpanel.y
我正在使用 cpanel 网络管理系统。 我用它创建了一个 git 存储库。 我能够将我的本地代码推送到该 git 存储库。 当我尝试将存储库中的代码部署到服务器上的生产目录时出现问题。 根据 cpa
我正在寻找解决方案,但我很乐意接受替代方案。 问题:我正在用Java设计一个应用程序,它的要求是每晚一次,同步到服务器数据库。将有不止一台笔记本电脑通过动态 IP 地址运行此应用程序。我已经从 cPa
我似乎无法在我的控制面板中使用 !important 属性。这是一个常见问题吗 出于某种原因,我无法在我的桌面媒体查询中使用我的 css 之一。我在同一个媒体查询中的其他 css 响应正常,但不适用于
我正在尝试安装https://github.com/pagespeed/cpanel 当我: git clone https://github.com/pagespeed/cpanel.git /va
您好,我有两个(或以后可能更多)域: 域名1域2 我想配置 Exim (cPanel) 以使用 SendGrid 或 Mailgun SMTP 服务器,目前我正在 Exim 中尝试使用此配置: **S
我已使用 ssh 成功连接并输入了正确的凭据。在哪里可以找到备份的sql文件?提前致谢 最佳答案 连接到远程服务器,使用以下命令转储数据库 mysqldump -R -h root -u userna
我使用的是共享虚拟主机,在 PhpMyAdmin 中没有启用 MySQL 事件调度程序的选项。支持人员告诉我改用 cpanel cron 作业部分,但它需要一个 linux 命令,我没有找到解决这个问
我需要更改我的一个域的根目录, 但是在我的 cpanel 中,我没有找到任何选项,只是系统的硬核,但我对系统和服务器有非常基本的了解。 我怎样才能尽可能简单地更改该目录?我只需要更改一些内容,因为我要
我是 cpanel 存储库的新手。我已按照这些说明将我的 gitlab 存储库克隆到 cpanel https://documentation.cpanel.net/display/CKB/Guide
我需要创建cron作业以每分钟从Cpanel运行URL 当我从浏览器中打开链接时,它会自动为数据库生成备份 我选择通用设置(每分钟一次) 这是我使用的命令,但没有人工作 GET http://exam
我是一名优秀的程序员,十分优秀!