summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2017-04-30 11:51:12 +0200
committerJulien Lepiller <julien@lepiller.eu>2017-05-01 09:57:03 +0200
commit5a10cd4736342160d93d2e1d5797b6cc6baebd0a (patch)
tree3cb380728d25e433e5067a4c4fea5250040b44dc
parent0f4740f4fadc83227de6ec73997ecf42ba7323e9 (diff)
gnu: services: Create logs directory.
* gnu/services/web.scm (nginx-activation): Create logs directory so nginx can log its startup messages before it loads its configuration.
-rw-r--r--doc/guix.texi9
-rw-r--r--gnu/services/web.scm3
2 files changed, 12 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 0d334e302f..957ce2bab3 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -13316,6 +13316,15 @@ used to specify the list of @dfn{server blocks} required on the host and
blocks} to configure. For this to work, use the default value for
@var{config-file}.
+At startup, @command{nginx} has not yet read its configuration file, so it
+uses a default file to log error messages. If it fails to load its
+configuration file, that is where error messages are logged. After the
+configuration file is loaded, the default error log file changes as per
+configuration. In our case, startup error messages can be found in
+@file{/var/run/nginx/logs/error.log}, and after configuration in
+@file{/var/log/nginx/error.log}. The second location can be changed with the
+@var{log-directory} configuration option.
+
@end deffn
@deffn {Scheme Variable} nginx-service-type
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 47036f42f3..9f789707ef 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -237,6 +237,9 @@ of index files."
(mkdir-p (string-append #$run-directory "/fastcgi_temp"))
(mkdir-p (string-append #$run-directory "/uwsgi_temp"))
(mkdir-p (string-append #$run-directory "/scgi_temp"))
+ ;; Start-up logs. Once configuration is loaded, nginx switches to
+ ;; log-directory.
+ (mkdir-p (string-append #$run-directory "/logs"))
;; Check configuration file syntax.
(system* (string-append #$nginx "/sbin/nginx")
"-c" #$(or config-file