无法分配请求的地址 – bind(2)(Errno :: EADDRNOTAVAIL)

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

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

发展:
适配器:mysql
主持人:192.168.7.202
港口:3306
用户名:teambox
密码:通过
数据库: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) 

请帮帮我

试试这个

 rails server -e development -b 0.0.0.0 -p 3000 

0.0.0.0表示它侦听本地计算机上的所有IPv4地址

没有IPv6,Rails 5.0.0.1服务器无法正常工作。 您需要从/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服务器

请尝试以下方法:

 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 

我认为上述任何一种都可行。

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

尝试

 rails server -e development -p 3001 -b 192.168.7.202 

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