-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathnginx.rb
36 lines (31 loc) · 1.12 KB
/
nginx.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
set_default(:upstream) { application.downcase }
set_default(:server_names) { throw Exception.new('set server_names, "names" # in your config file') }
set_default(:nginx_page_caching) { false }
namespace :nginx do
desc "Install latest stable release of nginx"
task :install, roles: :web do
run "#{sudo} add-apt-repository ppa:nginx/stable"
run "#{sudo} apt-get -y update"
run "#{sudo} apt-get -y install nginx"
end
after "deploy:install", "nginx:install"
desc "Setup nginx configuration for this application"
task :setup, roles: :web do
template "nginx_unicorn.erb", "/tmp/nginx_conf"
run "#{sudo} mv /tmp/nginx_conf /etc/nginx/sites-enabled/#{application}"
run "#{sudo} rm -f /etc/nginx/sites-enabled/default"
restart
end
after "deploy:setup", "nginx:setup"
desc "Upload custom nginx configuration"
task :custom, roles: :web do
upload "config/nginx.conf", "/etc/nginx/sites-enabled/#{application}"
restart
end
%w[start stop restart].each do |command|
desc "#{command} nginx"
task command, roles: :web do
run "#{sudo} service nginx #{command}"
end
end
end