Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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/8/file/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 Ruby on Rails:Unicorn无法启动服务器_Ruby On Rails_Capistrano_Unicorn - Fatal编程技术网

Ruby on rails Ruby on Rails:Unicorn无法启动服务器

Ruby on rails Ruby on Rails:Unicorn无法启动服务器,ruby-on-rails,capistrano,unicorn,Ruby On Rails,Capistrano,Unicorn,我正在跟踪,当我运行cap deploy:cold时,除了它报告的末尾之外,一切都很顺利 executing 'deploy:start' executing "/etc/init.d/unicorn_just4magic start" servers: ["106.XXX.XXX.XXX"] [106.XXX.XXX.XXX] executing command out :: 106.XXX.XXX.XXX sh: /etc/init.d/unicorn_just4magic: Permiss

我正在跟踪,当我运行
cap deploy:cold
时,除了它报告的末尾之外,一切都很顺利

executing 'deploy:start'
executing "/etc/init.d/unicorn_just4magic start"
servers: ["106.XXX.XXX.XXX"]
[106.XXX.XXX.XXX] executing command
out :: 106.XXX.XXX.XXX sh: /etc/init.d/unicorn_just4magic: Permission denied
command finished in 502ms
failed: "env PATH=$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH sh -c '/etc/init.d/unicorn_just4magic start'" on 
106.XXX.XXX.XXX     
我可以在VPS上手动运行
rails服务器
,一点问题都没有。 但是当使用cap部署时,我得到了上面的错误。当我访问我的网站时,我得到了
抱歉,出了问题
提示

更新: deploy.rb是,下面是启动/重启部分

  %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
更新2: 现在,
权限被拒绝
提示没有出现,我遇到了另一个问题:
sudo:/etc/init.d/unicorn\u just4magic:未找到命令

我发现
我更改了shell脚本的行分隔符,并从git中删除了
gemfile.lock
,并设置了
set:bundle\u标志,'
。仍然会收到错误

默认情况下,Unix用户对其/home/user/目录具有权限
文件
unicorn\u just4magic
不在主目录下或任何允许写入的目录下,因此您会收到“权限解除”错误。
要解决此问题,您可以
-将
unicorn\u just4magic
移动到您的主目录下的某个位置(您可以在unicorn配置文件中设置)

-为您的用户添加对/etc/目录的权限

$chown your_username/etc/init.d/unicorn_just4magic
我通过在本地文件/config/unicorn_init.sh上运行
chmod+x config/unicorn_init.sh
来为其提供可执行权限,从而解决了这个问题。把它推到你们的GitRepo,cap部署到服务器上,它对我来说就像一个魅力

在服务器上摆弄权限似乎不太好

此外,如果您似乎无法找到您描述的文件(“未找到命令”),请尝试使用新权限再次运行
cap deploy:setup
,然后从那里开始。可能是由于权限问题而无法正确创建符号链接


希望有帮助

deploy.rb你能把它放在哪里?它需要sudo用户permission@RajarshiDas,请参阅我的更新,使其
运行“#{sudo:as=>'cqcn}/etc/init.d/unicorn{application}{command}”
运行“#{sudo}/etc/init.d/unicorn{application}{command}”
@RajarshiDas它现在正在工作。但我发现
命令未找到
错误。请看我的更新Hi抱歉迟到……找不到命令?它可以工作。但现在我得到
命令未找到错误
。如何处理此问题?当您运行
时,请选择您的\u username/etc/init.d/unicorn\u just4magic
?当我运行cap deploy:start时,它无法运行
/etc/init.d/unicorn\u just4magic start
。在问题中查看我的更新