使用 Rails 3.2,Capistrano 2,我有以下 nginx 配方:
namespace :nginx do
desc "Install latest stable release of nginx"
task :install, roles: :web do
run "#{sudo} add-apt-repository -y ppa:nginx/stable"
run "#{sudo} apt-get -y update"
run "#{sudo} apt-get -y install nginx"
run "#{sudo} /etc/init.d/apache2 stop" # Stop Apache because we are using nginx, only for production
start
end
after "deploy:install", "nginx:install"
end
这是从头开始设置我的 VPS 的一部分,你注意到我在启动 nginx 之前停止了 Apache,这样就不会出现端口冲突。但这仅在安装了 Apache 时才有效,如果有其他操作系统没有预装 Apache,那么这个部署配方会抛出错误,试图停止不存在的 Apache。
我该如何改进这个脚本?谢谢。