3

我正在尝试在 Heroku 上运行一个简单的 tcp/ip 服务器(以及我的 Ruby on Rails 应用程序)。

如本教程中所述,我添加了 Ruppels 套接字插件并安装了套接字连接子模块。

我在我的 Procfile 中添加了以下行:

web: ./lib/sockets-connect/rs-conn ./app/test.rb -b $PORT

当我在 heroku 上运行应用程序时,我得到以下结果:

heroku[web.1]: Starting process with command `./lib/sockets-connect/rs-conn ./app/test.rb -b 5323`
app[web.1]: ./lib/sockets-connect/rs-conn: line 157: kill: (6) - No such process
app[web.1]: Connecting tcp://localhost:1337/ to tcp://43954.9252e573-db51-404e-8e27-b444e8981e0a.sockets.ruppells.io:43954/... done
app[web.1]: Running ./app/test.rb -b 5323... done
app[web.1]: ./lib/sockets-connect/rs-conn: line 152: ./app/test.rb: Permission denied
heroku[web.1]: State changed from starting to crashed

我是否声明了错误的端口?为什么我会收到权限被拒绝错误?

我已经尝试将 ruby​​ 文件的权限更改为 755。

4

2 回答 2

3

这可能是您正在打开端口 80 并且您没有以可以打开端口 80 的用户身份运行。您可以尝试以 root 或特权用户身份运行吗?

于 2015-01-23T15:48:03.657 回答
1

我终于发现了我的应用程序出了什么问题。我在我的文件夹中创建了一个 bin 文件夹并将 test.rb 移动到该文件夹​​中。然后将 procfile 中的行更改为:

web: ./lib/sockets-connect/rs-conn ./bin/test.rb -b $PORT

现在服务器运行顺利:)

于 2015-01-25T23:06:04.373 回答