UnC*_*rum 8 port ruby-on-rails
我安装了 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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
(薄的结果相同)。
Telnet localhost 3004 从服务器运行,但是从另一台服务器到端口和 IP 地址的 telnet 导致连接被拒绝。
和 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
Run Code Online (Sandbox Code Playgroud)
这也得到了 netstat 的证实:
netstat -tpln | grep 3004
tcp 0 0 127.0.0.1:3004 0.0.0.0:* LISTEN 1062/ruby
Run Code Online (Sandbox Code Playgroud)
但是 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
Run Code Online (Sandbox Code Playgroud)
并且 telnet 到服务器 3004 报告连接被拒绝。
就像我说的,我认为这是一个防火墙问题,除了更改到端口 3001(我知道它可以与 Rails 4.04 一起使用)在 4.2 中失败。有人有什么建议吗?
Mic*_*ton 16
WEBrick 绑定到 127.0.0.1 而不是 INADDR_ANY,因此您只能通过该地址访问它。如果要设置它绑定到的地址,请使用该-b
选项。例如:
rails s -b 0.0.0.0 -p 3004
Run Code Online (Sandbox Code Playgroud)