我安装了
Ruby 2.1.2和Rails 4.2.
捆绑安装运行没有错误.
我可以毫无错误地执行Rails C.
Rails s -p3004启动时带有webrick或thin而没有错误
当我浏览mytestsite:3004 safari,firefox和chrome都报告“无法连接到服务器”
任何系统日志中都不会显示错误; syslog,lfd.log,auth.log或任何apache日志.
如果我启动我的4.04站点,端口3001,3002工作正常.如果我关闭4.04,并在端口3001或3002上启动4.2,我得到’无法连接到服务器’错误.这对我来说似乎意味着它不是阻止端口的防火墙问题.尽管如此,iptables -L报告端口3004已打开:
ACCEPT tcp -- anywhere anywhere ctstate NEW tcp dpt:3004
Rails报告:
=> Booting WEBrick => Rails 4.2.0.beta1 application starting in development on http://localhost:3004 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2014-09-02 21:31:06] INFO WEBrick 1.3.1 [2014-09-02 21:31:06] INFO ruby 2.1.1 (2014-02-24) [x86_64-linux] [2014-09-02 21:31:06] INFO WEBrick::HTTPServer#start: pid=4599 port=3004
(同样的结果很薄).
Telnet localhost 3004从服务器工作,但从另一台服务器telnet到端口和IP地址导致连接被拒绝.
和ps报告程序已加载:
ps aux|grep 3004 user 1062 0.0 0.5 578600 183996 pts/2 Sl+ 20:15 0:03 /home/user/.rvm/rubies/ruby- 2.1.1/bin/ruby bin/rails s -p3004
netstat也证实了这一点:
netstat -tpln | grep 3004 tcp 0 0 127.0.0.1:3004 0.0.0.0:* LISTEN 1062/ruby
但mmap报告端口已关闭:
Starting Nmap 6.40 ( http://nmap.org ) at 2014-09-02 21:33 UTC Nmap scan report for localhost (127.0.0.1) Host is up (0.000059s latency). rDNS record for 127.0.x.1: local_host.local_domain PORT STATE SERVICE 3004/udp closed unknown
并且到服务器3004的telnet报告拒绝连接.
就像我说的那样,我认为这是一个防火墙问题,除了更改到端口3001,我知道使用Rails 4.04,失败了4.2.有人有什么建议吗?
解决方法
WEBrick绑定到127.0.0.1而不是INADDR_ANY,因此您只能通过该地址访问它.如果要设置绑定的地址,请使用-b选项.例如:
rails s -b 0.0.0.0 -p 3004