From 171df888464ec24d94a8e92e38742f86ac55d0f7 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 1 Nov 2009 11:56:16 -0800 Subject: configurator: add "working_directory" directive This basically a prettier way of saying: Dir.chdir(Unicorn::HttpServer::START_CTX[:cwd] = path) In the config file. Unfortunately, this is configuration directive where order matters and you should specify it before any other path[1] directives if you're using relative paths (relative paths are not recommended anyways) [1] pid, stderr_path, stdout_path --- lib/unicorn/configurator.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib/unicorn/configurator.rb') diff --git a/lib/unicorn/configurator.rb b/lib/unicorn/configurator.rb index a074fcf..1f0852a 100644 --- a/lib/unicorn/configurator.rb +++ b/lib/unicorn/configurator.rb @@ -9,6 +9,7 @@ module Unicorn # # Example (when used with the unicorn config file): # worker_processes 4 + # working_directory "/path/to/deploy/app/current" # listen '/tmp/my_app.sock', :backlog => 1 # listen 9292, :tcp_nopush => true # timeout 10 @@ -345,6 +346,16 @@ module Unicorn set_path(:stdout_path, path) end + # sets the working directory for Unicorn. This ensures USR2 will + # start a new instance of Unicorn in this directory. This may be + # a symlink. You should specify this directive near the top or + # your config file before any relative paths for other config + # directives (or avoid relative paths entirely). + def working_directory(path) + # just let chdir raise errors + Dir.chdir(HttpServer::START_CTX[:cwd] = path) + end + # expands "unix:path/to/foo" to a socket relative to the current path # expands pathnames of sockets if relative to "~" or "~username" # expands "*:port and ":port" to "0.0.0.0:port" -- cgit v1.2.3-24-ge0c7