Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 即使乘客正在运行,Rails页面也不显示_Ruby On Rails 3_Nginx_Capistrano_Passenger_Web Deployment - Fatal编程技术网

Ruby on rails 3 即使乘客正在运行,Rails页面也不显示

Ruby on rails 3 即使乘客正在运行,Rails页面也不显示,ruby-on-rails-3,nginx,capistrano,passenger,web-deployment,Ruby On Rails 3,Nginx,Capistrano,Passenger,Web Deployment,我正在尝试部署我的第一个合适的Rails项目。 我有一个Ubuntu 12.04虚拟服务器,安装了Nginx、Passenger和PostgreSQL。 我已经使用Capistrano将代码部署到服务器上 一切都应该正常,但由于某些原因,当试图通过浏览器访问页面时,它只是尝试连接大约10秒钟,然后超时。 但是,所有静态页面(如address/500.html和address/robots.txt)都可以正确加载 我已经在/opt/Nginx/logs上检查了Nginx错误日志,但它们是空的。另一

我正在尝试部署我的第一个合适的Rails项目。 我有一个Ubuntu 12.04虚拟服务器,安装了Nginx、Passenger和PostgreSQL。 我已经使用Capistrano将代码部署到服务器上

一切都应该正常,但由于某些原因,当试图通过浏览器访问页面时,它只是尝试连接大约10秒钟,然后超时。 但是,所有静态页面(如address/500.html和address/robots.txt)都可以正确加载

我已经在/opt/Nginx/logs上检查了Nginx错误日志,但它们是空的。另一方面,Nginx访问日志只记录我的一些尝试。 Nginx访问日志:

130.233.194.3 - - [18/Sep/2012:11:13:04 +0300] "GET /somestuff HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
130.233.194.3 - - [18/Sep/2012:11:37:59 +0300] "GET /500.html HTTP/1.1" 200 643
"-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
130.233.194.3 - - [18/Sep/2012:11:45:59 +0300] "-" 400 0 "-" "-"
130.233.194.3 - - [18/Sep/2012:11:57:32 +0300] "GET /500.html HTTP/1.1" 200 643
"-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
130.233.194.3 - - [18/Sep/2012:11:57:47 +0300] "GET /favicon.ico HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
130.233.194.3 - - [18/Sep/2012:11:58:19 +0300] "GET /robots.txt HTTP/1.1" 200 204 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
(例如,在/something之后,我尝试了/nopage,但它没有被记录)

我的Rails应用程序生产日志仅显示数据库迁移。我还可以在生产模式下打开Rails控制台并将内容写入数据库,所以我认为这不是问题所在

如果我在rails控制台中写入“app.get(“/”)或任何其他页面,它将只返回301 (不知道这是否相关,在我的开发环境中返回200)

以下是一些可能相关的其他文件:

nginx.conf:

#user  [User used in deploying];
   server {
        listen 80;
        server_name [Name_of_the_server];
        root /home/[User used in deploying]/srv/nsbg/current/public;
        passenger_enabled on;
}
(这是我添加的内容,否则为默认值)

Capistrano部署文件:

require 'bundler/capistrano'
set :user, '[User used in deploying]'
set :domain, '[server name]'
set :applicationdir, "/home/[User used in deploying]/srv/nsbg"

set :scm, 'git'
set :repository,  "[Github repo]"
set :git_enable_submodules, 1 # if you have vendored rails
set :branch, 'master'
set :git_shallow_clone, 1
set :scm_verbose, true

# roles (servers)
role :web, domain
role :app, domain
role :db,  domain, :primary => true

# deploy config
set :deploy_to, applicationdir
set :deploy_via, :export

# additional settings
default_run_options[:pty] = true  # Forgo errors when deploying from windows
#ssh_options[:keys] = %w(/home/user/.ssh/id_rsa)            # If you are using ssh_keysset :chmod755, "app config db lib public vendor script script/* public/disp*"set :use_sudo, false

# Passenger
namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart, :roles => :app, :except => { :no_release => true } do
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end
end
使用命令“sudo乘客状态”:

正如我所说,静态页面得到服务,但任何其他页面(包括无效路由)都会挂起,任何地方都不会写入错误。
请帮助我,我在部署方面非常缺乏经验,完全不知道Postgres正在运行吗?
database.yml
是否正确找到数据库?站点范围内的500个错误通常是由丢失的数据库引起的。应该是这样,因为如果我打开生产rails控制台,我可以从那里调用数据库,它不会给出任何错误。我只设置了生产数据库,但不应该默认为生产模式吗?是的,这表明数据库正常。感谢您的检查和澄清。博士后正在运行吗?
database.yml
是否正确找到数据库?站点范围内的500个错误通常是由丢失的数据库引起的。应该是这样,因为如果我打开生产rails控制台,我可以从那里调用数据库,它不会给出任何错误。我只设置了生产数据库,但不应该默认为生产模式吗?是的,这表明数据库正常。感谢您的检查和澄清。
----------- General information -----------
max      = 6
count    = 1
active   = 0
inactive = 1
Waiting on global queue: 0

----------- Application groups -----------
/home/[User used in deploying]/srv/nsbg/current:
  App root: /home/[User used in deploying]/srv/nsbg/current
  * PID: 8038    Sessions: 0    Processed: 1       Uptime: 1h 4m 29s