~ruther/guix-local

5a10cd4736342160d93d2e1d5797b6cc6baebd0a — Julien Lepiller 8 years ago 0f4740f
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.
2 files changed, 12 insertions(+), 0 deletions(-)

M doc/guix.texi
M gnu/services/web.scm
M doc/guix.texi => doc/guix.texi +9 -0
@@ 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

M gnu/services/web.scm => gnu/services/web.scm +3 -0
@@ 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