From 85de5d18aec10900accd146746ea72902a6147dc Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 30 Apr 2017 11:51:12 +0200 Subject: [PATCH 2/2] 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. --- doc/guix.texi | 9 +++++++++ gnu/services/web.scm | 3 +++ 2 files changed, 12 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 0d334e302..957ce2bab 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 a13534c84..0c9d31043 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -235,6 +235,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 -- 2.12.2