如何在 Heroku multi buildpack php + nodejs 中启动快速服务器
How to start express server in Heroku multi buildpack php + nodejs
我正在 Heroku 上创建一个网络应用程序,我需要在我的 php 应用程序的一部分中进行一些实时数据更新。
所以我想我可以在 express 服务器上使用 socket.io 来提供实时通信功能。
当它是 php buildpack 时,我应该如何 运行 表达。
这是我的 package.json 脚本部分
"scripts": {
"dev": "cross-env NODE_ENV=development webpack --config config/config.dev.js",
"build": "cross-env NODE_ENV=production webpack --config config/config.prod.js",
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
我的 procfile 是...
web: vendor/bin/heroku-php-apache2 public/
和我的构建包
$ heroku buildpacks
1. heroku/nodejs
2. heroku/php
当我在 heroku 上部署它时,我在 heroku 日志中没有收到编译错误,但我的 webapp 没有从 socket.io 服务器获得实时更新。
在浏览器的控制台日志中,我在 http://myapp.herokuapp.com/socket.io/?EIO=3&transport=polling
上收到 404 错误
我这里哪里做错了?
如果你想 运行 一个 node/express web dyno,你需要在你的 procfile 中添加 web: npm start
。
不过听起来您想要一个 PHP 网络服务器,node/express 侦听不同的端口。你不能在 Heroku 上真正做到这一点。相反,您需要为您的节点应用程序配备一个 worker dyno。但是,您将无法通过 URL 从前端直接访问您的 worker dyno。相反,您需要做一些类似于 here 所描述的事情。
另见 this answer。
我正在 Heroku 上创建一个网络应用程序,我需要在我的 php 应用程序的一部分中进行一些实时数据更新。
所以我想我可以在 express 服务器上使用 socket.io 来提供实时通信功能。
当它是 php buildpack 时,我应该如何 运行 表达。
这是我的 package.json 脚本部分
"scripts": {
"dev": "cross-env NODE_ENV=development webpack --config config/config.dev.js",
"build": "cross-env NODE_ENV=production webpack --config config/config.prod.js",
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
我的 procfile 是...
web: vendor/bin/heroku-php-apache2 public/
和我的构建包
$ heroku buildpacks
1. heroku/nodejs
2. heroku/php
当我在 heroku 上部署它时,我在 heroku 日志中没有收到编译错误,但我的 webapp 没有从 socket.io 服务器获得实时更新。 在浏览器的控制台日志中,我在 http://myapp.herokuapp.com/socket.io/?EIO=3&transport=polling
上收到 404 错误我这里哪里做错了?
如果你想 运行 一个 node/express web dyno,你需要在你的 procfile 中添加 web: npm start
。
不过听起来您想要一个 PHP 网络服务器,node/express 侦听不同的端口。你不能在 Heroku 上真正做到这一点。相反,您需要为您的节点应用程序配备一个 worker dyno。但是,您将无法通过 URL 从前端直接访问您的 worker dyno。相反,您需要做一些类似于 here 所描述的事情。
另见 this answer。