我使用圆形CI部署了rails应用程序,每次提交后,更改都是由圆形CI自动构建的,但我想重新启动nginx服务器,我在circle.yml中添加了“sudo service nginx restart
”错误如
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服务器没有重启?
答案 0 :(得分:0)
尝试使用circle.yml
启动nginx失败,因为该命令将在CI服务器上运行,而不是在您的Web服务器上运行。
不确定为什么尝试使用Capistrano重启失败。
如果你正在使用带有nginx的乘客,另一种在rails应用程序上重启nginx服务器的方法是在app目录中创建/修改tmp/restart.txt
文件。
有关说明,请参阅3.4. Redeploying (restarting the Rack application) 和How do i make nginx and passenger restart automatically after a deploy。
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