Add local webserver start-script
This commit is contained in:
parent
dfa65196da
commit
a0baf14ac2
95
bin/web
Executable file
95
bin/web
Executable file
|
@ -0,0 +1,95 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
# A start-script for my local webserver. Mac-only and requires Homebrew
|
||||
|
||||
PREFIX = `brew --prefix`.strip
|
||||
|
||||
CONF = "#{PREFIX}/dev/conf"
|
||||
PID = "#{PREFIX}/var/run"
|
||||
WWW = "#{PREFIX}/dev/www"
|
||||
SERVICES = {
|
||||
:php => {
|
||||
:bin => `which php-fpm`.strip,
|
||||
:opts => "-D -c '#{CONF}/php/php.ini' --fpm-config '#{CONF}/php/php-fpm.conf' --pid = '#{PID}/php-fpm-pid'",
|
||||
:pid => "#{PID}/php-fpm.pid"
|
||||
},
|
||||
:nginx => {
|
||||
:bin => `which nginx`.strip,
|
||||
:opts => "-c '#{CONF}/nginx/nginx.conf'",
|
||||
:pid => "#{PID}/nginx.pid"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## Functions ##
|
||||
|
||||
def start
|
||||
SERVICES.each_pair do |key,opts|
|
||||
if File.exist?(opts[:pid])
|
||||
puts "[NOTICE] Stopping #{key} ..."
|
||||
`kill #{`cat #{opts[:pid]}`.strip}`
|
||||
`rm #{opts[:pid]} >/dev/null 2>&1`
|
||||
else
|
||||
puts "[WARNING] #{key} is not running."
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def stop
|
||||
SERVICES.each_pair do |key,opts|
|
||||
if File.exist?(opts[:pid])
|
||||
puts "[NOTICE] Stopping #{serv} ..."
|
||||
`kill #{`cat #{opts[:pid]}`.strip}`
|
||||
`rm #{opts[:pid]} >/dev/null 2>&1`
|
||||
else
|
||||
puts "[WARNING] #{key} is not running."
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def restart
|
||||
stop
|
||||
start
|
||||
end
|
||||
|
||||
# Change the local webserver's root to the current directory
|
||||
def chdir
|
||||
if File.directory?(WWW)
|
||||
`rm -r #{WWW}`
|
||||
end
|
||||
`ln -s "#{`pwd`.strip}" "#{WWW}"`
|
||||
|
||||
restart
|
||||
end
|
||||
|
||||
def help
|
||||
puts "Usage: www (start|stop|restart)"
|
||||
exit
|
||||
end
|
||||
|
||||
|
||||
## Bootstrap ##
|
||||
|
||||
if `id -u` != "0\n"
|
||||
puts "Must be run as root!"
|
||||
exit
|
||||
end
|
||||
|
||||
if ARGV.length == 0
|
||||
help
|
||||
else
|
||||
case ARGV[0]
|
||||
when "start"
|
||||
puts "Starting web services"
|
||||
start
|
||||
when "stop"
|
||||
puts "Stopping web services"
|
||||
stop
|
||||
when "restart"
|
||||
restart
|
||||
when "chdir"
|
||||
chdir
|
||||
else
|
||||
help
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue