Ruby on rails 使用Rails设置Nginx服务器的最后一步

Ruby on rails 使用Rails设置Nginx服务器的最后一步,ruby-on-rails,nginx,vps,Ruby On Rails,Nginx,Vps,我一直在尝试在我的VPS上设置一个nginx服务器来部署我的rails应用程序。 在最后一个命令之前,一切都是成功的,如果我让它工作,我将能够在服务器上看到我的应用程序 是的 最后 sudo update-rc.d uinicorn_app defaults 但是它说 update-rc.d: /etc/init.d/unicorn_app: file does not exist 我通过进入目录手动检查文件,文件就在那里。然而,当我运行下面的命令时,我得到了以下结果 deployer@ma

我一直在尝试在我的VPS上设置一个nginx服务器来部署我的rails应用程序。 在最后一个命令之前,一切都是成功的,如果我让它工作,我将能够在服务器上看到我的应用程序

是的

最后

sudo update-rc.d uinicorn_app defaults
但是它说

update-rc.d: /etc/init.d/unicorn_app: file does not exist
我通过进入目录手动检查文件,文件就在那里。然而,当我运行下面的命令时,我得到了以下结果

deployer@max:/$ file /etc/init.d/unicorn_app
/etc/init.d/unicorn_app: broken symbolic link to `/home/deployer/apps/app/current/config/unicorn_init.sh'
如何解决此问题并完成服务器设置

更新:我的deploy.rb配置似乎无法正常工作,因为我找不到/home/deployer/apps/app/current文件夹。下面是我的部署.rb的一部分:

namespace :deploy do
  %w[start stop restart].each do |command|
    desc "#{command} unicorn server"
    task command, :roles => :app, :except => {:no_release => true} do
      run "/etc/init.d/unicorn_#{application} #{command}"
    end
  end

  task :setup_config, :roles => :app do
    sudo "ln -nfs #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application}"
    sudo "ln -nfs #{current_path}/config/unicorn_init.sh /etc/init.d/unicorn_#{application}"
    run "mkdir -p #{shared_path}/config"
    put File.read("config/database.example.yml"), "#{shared_path}/config/database.yml"
    puts "Now edit the config files in #{shared_path}."
  end

有什么想法吗?

如果找不到当前文件,请运行

cap deploy:cold

它将部署您的应用程序,运行所有挂起的迁移,并首次启动服务器。

文件
/home/deployer/apps/app/current/config/unicorn_init.sh
是否存在?@bdares,apps/app目录中只有“releases”和“shared”文件夹。为什么当前文件夹不存在?结果我忘了做cap deploy:cold
cap deploy:cold