Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 为什么Capistrano将我的项目部署在;“发展”;环境_Ruby On Rails_Ruby_Capistrano_Production Environment - Fatal编程技术网

Ruby on rails 为什么Capistrano将我的项目部署在;“发展”;环境

Ruby on rails 为什么Capistrano将我的项目部署在;“发展”;环境,ruby-on-rails,ruby,capistrano,production-environment,Ruby On Rails,Ruby,Capistrano,Production Environment,我为capistrano配置设置了以下文件。当我使用以下命令部署项目时,它将部署到服务器,但是Rails.env设置为“部署”。如何将其正确设置为“生产” 部署命令 cap production deploy 部署.rb set :application, 'project' set :repo_url, 'git@github.com:AccountName/project.git' set :deploy_to, '/home/deploy/project' set :linked_fi

我为capistrano配置设置了以下文件。当我使用以下命令部署项目时,它将部署到服务器,但是
Rails.env
设置为“部署”。如何将其正确设置为“生产”

部署命令

cap production deploy
部署.rb

set :application, 'project'
set :repo_url, 'git@github.com:AccountName/project.git'
set :deploy_to, '/home/deploy/project'

set :linked_files, %w{config/database.yml}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}

namespace :deploy do

  desc 'Restart application'
  task :restart do
    on roles(:app), in: :sequence, wait: 5 do
      execute :touch, release_path.join('tmp/restart.txt')
    end
  end

  after :publishing, 'deploy:restart'
  after :finishing, 'deploy:cleanup'
end
set :stage, :production
set :branch, 'master'
set :rails_env, 'production'

server '127.0.0.1:4400', user: 'deploy', roles: %w{web app}
config/deploy/production.rb

set :application, 'project'
set :repo_url, 'git@github.com:AccountName/project.git'
set :deploy_to, '/home/deploy/project'

set :linked_files, %w{config/database.yml}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}

namespace :deploy do

  desc 'Restart application'
  task :restart do
    on roles(:app), in: :sequence, wait: 5 do
      execute :touch, release_path.join('tmp/restart.txt')
    end
  end

  after :publishing, 'deploy:restart'
  after :finishing, 'deploy:cleanup'
end
set :stage, :production
set :branch, 'master'
set :rails_env, 'production'

server '127.0.0.1:4400', user: 'deploy', roles: %w{web app}
nginx.conf

server {
    listen 80;
    server_name ip_address;
    rails_env production;
    root /path/to/app/public;
    passenger_enabled on;
}
可用站点/项目

server {
   listen 80 default_server;
   server_name ip_address;
   passenger_enabled on;
   root /path/to/app/public;
}

问题是乘客应用环境正在开发中。我无法确定哪些服务没有重新启动,所以我重新启动了服务器。这带来了一些其他问题,但我相当肯定,通过将该变量更改为
passenger\u app\u env production
,问题得到了解决。谢谢你的帮助

你的应用程序是如何运行的(乘客、独角兽等)?nginx&乘客我曾经按照下面的文章进行过设置。。。所以在你提到这个之后,我发现了问题。。nginx中有如下设置:
passenger\u app\u env development
。。。编辑:我想它已经修复了,但是它仍然说它还在开发中。我正在检查是否重新启动,但我认为我的deploy命令已经重新启动了它…您的deploy没有重新启动nginx本身我在我的任务重新启动中添加了
服务nginx restart
。我还登录到服务器并在那里运行它。仍在获得开发环境。除可用站点外,是否还有其他位置的乘客应用程序环境仍设置为开发?