2

我有一个简单的登录系统,我使用 devise gem 进行身份验证,我部署在服务器上并使用lynx 浏览器进行测试, 我遵循了与设计相关的所有步骤。我已将我的根页面设置为设计登录页面,所以我的 route.rb 如下

devise_for :users      
  devise_scope :user do
    root :to => "devise/sessions#new"
  end    
  resources :home,:only => [:index, :dashboard]
  resources :device_info,:only => [:address_list]     
  match ':controller(/:action(/:id))(.:format)'

我的数据库使用 RDS 连接我的 database.yml 文件为

development:
  adapter: mysql2
  encoding: utf8
  reconnect: true
  database: abc
  pool: 5
  username: root
  password: root
  port: 3306
  host: 127.0.0.1

test:
  adapter: mysql2
  encoding: utf8
  reconnect: true
  database: abc
  pool: 5
  username: root
  password: root
  port: 3306
  host: 127.0.0.1

production:
  adapter: mysql2
  encoding: utf8
  reconnect: true
  database: abc
  pool: 5
  username: root
  password: root
  port: 3306
  host: xxxxxxxxxx.xxx.amazonaws.com

当我启动服务器并输入地址为lynx 0.0.0.0:3000时,它给了我错误

Looking up 0.0.0.0 first
Looking up 0.0.0.0:3000
Making HTTP connection to 0.0.0.0:3000
Sending HTTP request.
HTTP request sent; waiting for response.
Alert!: Unexpected network read error; connection aborted.
Can't Access `http://0.0.0.0:3000/'
Alert!: Unable to access document.    
lynx: Can't access startfile 

首先,我认为这可能是由于数据库未连接到应用程序,但通过使用 rails 控制台我可以访问数据库。我还检查了我的日志文件,它不会显示任何错误。我错过了什么。

这里我使用的是 rails 3.2.11 和 ruby​​ 1.8.7

我应该怎么办?

4

1 回答 1

2

我也有同样的情况。这是因为您无权访问端口 3000。您必须在 iptable 中打开端口 3000。您可以使用iptables -I INPUT 1 -p tcp --dport 3000 -j ACCEPT命令在 iptable 中打开端口。

您也可以参考以下链接

https://help.ubuntu.com/community/IptablesHowTo

http://www.cyberciti.biz/tips/linux-iptables-examples.html

于 2014-03-12T11:53:08.493 回答