0

我有一个使用circle CI部署的rails应用程序,每次提交后,更改都是由circle CI自动构建的,但是我想重新启动nginx服务器,我sudo service nginx restart在我的circle.yml中添加了“”,它给出了类似的错误

error: sudo service nginx restart returned exit code 1

nginx: unrecognized service
Action failed: sudo service nginx restart

我还在 config/deploy.rb 中尝试了以下内容

namespace :deploy do
  after :restart, :clear_cache do
    on roles(:web) do
      execute :sudo, "service nginx restart"
    end
  end

仍然 nginx 服务器没有重新启动?

4

1 回答 1

0

尝试启动 nginxcircle.yml失败,因为该命令将在 CI 服务器上运行,而不是在您的预期 Web 服务器上运行。

不知道为什么尝试使用 Capistrano 重新启动失败。

如果您将乘客与 nginx 一起使用,另一种在 rails 应用程序上重新启动 nginx 服务器的方法是tmp/restart.txt在应用程序目录中创建/修改一个文件。

3.4。重新部署(重新启动 Rack 应用程序) 以及如何在部署后让 nginx 和乘客自动重新启动以进行解释。

下面的代码片段config/deploy.rb实现了逻辑:

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 
end
于 2015-03-16T13:31:49.767 回答