about summary refs log tree commit homepage
path: root/examples/unicorn.conf.rb
diff options
context:
space:
mode:
Diffstat (limited to 'examples/unicorn.conf.rb')
-rw-r--r--examples/unicorn.conf.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/examples/unicorn.conf.rb b/examples/unicorn.conf.rb
index 37c3e81..61f0b4b 100644
--- a/examples/unicorn.conf.rb
+++ b/examples/unicorn.conf.rb
@@ -12,6 +12,13 @@
 # more will usually help for _short_ waits on databases/caches.
 worker_processes 4
 
+# Since Unicorn is never exposed to outside clients, it does not need to
+# run on the standard HTTP port (80), there is no reason to start Unicorn
+# as root unless it's from system init scripts.
+# If running the master process as root and the workers as an unprivileged
+# user, do this to switch euid/egid in the workers (also chowns logs):
+# user "unprivileged_user", "unprivileged_group"
+
 # Help ensure your application will always spawn in the symlinked
 # "current" directory that Capistrano sets up.
 working_directory "/path/to/app/current" # available in 0.94.0+
@@ -63,7 +70,10 @@ before_fork do |server, worker|
   #   end
   # end
   #
-  # # *optionally* throttle the master from forking too quickly by sleeping
+  # Throttle the master from forking too quickly by sleeping.  Due
+  # to the implementation of standard Unix signal handlers, this
+  # helps (but does not completely) prevent identical, repeated signals
+  # from being lost when the receiving process is busy.
   # sleep 1
 end