当前位置: 首页 > 知识库问答 >
问题:

io和pm2启动process.yml

孙京
2023-03-14

当我使用PM2 start process.yml时,我的javascript游戏应用程序将无法工作。当我使用npm start时,游戏工作得很好,但不使用pm2 start process。在服务器上加载index.js文件,但随后给出错误,如:

WebSocket connection to 'ws://www.zeyeland.com:3000/socket.io/?EIO=3&transport=websocket&sid=gwcGq7h5vHrxBGOyAAAA' failed: WebSocket is closed before the connection is established.

GET http://www.zeyeland.com:3000/socket.io/?EIO=3&transport=polling&t=MEzN2OK&sid=gwcGq7h5vHrxBGOyAAAA 400 (Bad Request)

再次,当我使用npm start启动服务器时,程序运行平稳。

以下是我的process.yml文件

apps:
  - script: node index.js
    watch: true
    instances: 4
    exec_mode: cluster
    env:
      NODE_ENV: development
    env_production: 
      NODE_ENV: production
{
    "name": "sockets",
    "version": "0.0.1",
    "description": "web sockets demo",
    "scripts": {
        "start": "node index.js"
    },
    "dependencies": {
        "express": "^4.16.3",
        "socket.io": "^2.1.1"
    }
}

共有1个答案

袁赞
2023-03-14

pm2集群模式不适用于socket.io sticky-session。请看我在这里的问题,如何使用socket.io使粘滞会话工作?

您可以强制socket.io使用websocket

 类似资料:
  • 我很难在服务器重新引导时重新启动pm2(它本身和两个节点/express文件,&)。 下面是我尝试的过程: 我在所有可能的组合中运行了上面的命令,但没有任何工作。我试着以根用户的身份运行,但也不起作用。 我的文件包含信息,所以我不知道还可以在哪里查找。 我尝试的其他参考资料... http://pm2.keymetrics.io/docs/usage/startup/ https://www.di

  • 我发现了这个,结果是windows 10上的pm2问题。 那篇文章末尾建议的变通办法似乎很管用。 基本上,首先安装node-cmd,然后创建一个startscript.js:

  • pm2-init.sh文件: 这不起作用,所以我尝试使用,如下所示:首先,创建一个脚本,并将其命名为 然后打开编辑器:

  • 在Windows AWS服务器上,我有一个节点应用程序,我正在使用PM2启动该应用程序 我已经尝试了npms:“pm2-windows-startup”和“pm2-windows-service” 但是在我重新启动AWS实例并运行 列表中没有节点应用程序。.. null 我的PM2文件包含: 2017-03-13 07:37:48:=================================

  • 这里会出什么问题?我该怎么修好它?

  • 项目使用 nuxt2 写的, 现在进行了 npm run build 打包, 想在生产环境中使用docker部署,部署方式如下 上传项目 将打包后的 .nuxt, static, nuxt.config.js, package.json, node_modules上传至服务器 /home/wwwroot/default 下 (nginx等的配置略) 在项目目录创建启动文件 ecosystem.co