9

我在 centos 6.3 服务器上使用 rail for teambox,实际上这只是在实际应用之前的反复试验。

  • 我正在使用 2 个在相同 centos 版本和精确副本上运行的虚拟机,VM2 仅运行将远离 VM1 的 mysql
  • 我试过mysql连接#nc,它已经连接了
  • VM1 (192.168.7.201) & VM2 (192.168.7.202 运行 MYSQL)
  • 我在 my.cnf 中的远程机器(VM2)上有绑定地址,绑定地址=192.168.7.202
  • 这是我的database.yml

开发:
适配器:mysql
主机:192.168.7.202
端口:3306
用户名:teambox
密码:pass
数据库:teambox

我正在尝试使用 # 运行rails server -e development -b 192.168.7.202 并给出此错误

Exiting
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/tcphack.rb:12:in `initialize_without_backlog': Cannot assign requested address - bind(2) (Errno::EADDRNOTAVAIL)

请帮帮我

4

5 回答 5

12

尝试这个

rails server -e development -b 0.0.0.0 -p 3000

0.0.0.0 表示它监听本地机器上的所有 IPv4 地址

于 2016-10-20T21:54:54.513 回答
2

Rails 5.0.0.1 服务器在没有 IPv6 的情况下无法工作。

您需要从/etc/sysctl.conf文件启用 IPv6(默认情况下启用 IPv6)。

如果有的话,删除或评论这些行。

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

重新启动服务器以启用 IPv6。尝试:

rails server
于 2016-10-16T07:37:58.563 回答
0

尝试如下:

development:
 adapter: mysql
 host: 127.0.0.1
 port: 3306
 username: teambox
 password: pass
 database: teambox


(或者)

development:
 adapter: mysql
 host: localhost
 port: 3306
 username: teambox
 password: pass
 database: teambox


我认为以上任何一项都可以。

于 2012-12-13T06:08:48.607 回答
-1

这意味着服务器已经在该端口上运行

尝试

rails server -e development -p 3001 -b 192.168.7.202
于 2012-12-13T06:07:03.180 回答
-2

错误即将到来,因为 3000 端口已在使用中。并且该命令正在尝试在同一端口中运行。所以改变端口并运行。添加这个也 -p 3002

于 2012-12-13T06:15:44.233 回答