Sha256: 6222985f6c45f05266533909a3eb23a6f2a543b9adcb93f5e78c1cb9a0bab04a

Contents?: true

Size: 1.95 KB

Versions: 46

Compression:

Stored size: 1.95 KB

Contents

namespace :rubber do

  namespace :nginx do
    
    rubber.allow_optional_tasks(self)
    
    before "rubber:install_packages", "rubber:nginx:install"
    
    task :install, :roles => :nginx do
      # Setup apt sources for current nginx
      sources = <<-SOURCES
        deb http://nginx.org/packages/ubuntu/ lucid nginx
        deb-src http://nginx.org/packages/ubuntu/ lucid nginx
      SOURCES
      sources.gsub!(/^ */, '')
      put(sources, "/etc/apt/sources.list.d/nginx.list")
      rsudo "wget -qO- http://nginx.org/keys/nginx_signing.key | apt-key add -"  
    end
    
    # serial_task can only be called after roles defined - not normally a problem, but
    # rubber auto-roles don't get defined till after all tasks are defined
    on :load do
      rubber.serial_task self, :serial_restart, :roles => :nginx do
        rsudo "service nginx restart"
      end
      rubber.serial_task self, :serial_reload, :roles => :nginx do
        rsudo "if ! ps ax | grep -v grep | grep -c nginx &> /dev/null; then service nginx start; else service nginx reload; fi"
      end
    end
    
    before "deploy:stop", "rubber:nginx:stop"
    after "deploy:start", "rubber:nginx:start"
    after "deploy:restart", "rubber:nginx:reload"
    
    desc "Stops the nginx web server"
    task :stop, :roles => :nginx do
      rsudo "service nginx stop; exit 0"
    end
    
    desc "Starts the nginx web server"
    task :start, :roles => :nginx do
      rsudo "service nginx status || service nginx start"
    end
    
    desc "Restarts the nginx web server"
    task :restart, :roles => :nginx do
      serial_restart
    end
  
    desc "Reloads the nginx web server"
    task :reload, :roles => :nginx do
      serial_reload
    end

    desc "Display status of the nginx web server"
    task :status, :roles => :nginx do
      rsudo "service nginx status || true"
      rsudo "ps -eopid,user,fname | grep [n]ginx || true"
      rsudo "netstat -tulpn | grep nginx || true"
    end

  end

end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
rubber-3.2.2 templates/nginx/config/rubber/deploy-nginx.rb
rubber-3.2.1 templates/nginx/config/rubber/deploy-nginx.rb
rubber-3.2.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-3.1.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-3.0.1 templates/nginx/config/rubber/deploy-nginx.rb
rubber-3.0.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.16.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.15.2 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.15.1 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.15.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.14.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.13.1 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.13.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.12.2 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.12.1 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.12.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.11.0 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.10.2 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.10.1 templates/nginx/config/rubber/deploy-nginx.rb
rubber-2.10.0 templates/nginx/config/rubber/deploy-nginx.rb