services: web: Pass run-directory to nginx's actions.

Reloading nginx lead to (harmless, yet annoying) alert being logged:

    nginx: [alert] could not open error log file: open() "/gnu/store/9l2lznlqpjcm79znq1xas378maqgysc8-nginx-1.27.0/logs/error.log" failed (2: No such file or directory)

Since there already is prepared runtime directory for nginx, all that was
missing was to also pass it to the reload and reopen invocations.

* gnu/services/web.scm (nginx-shepherd-service)[reload, reopen]: Pass -p flag
with run-directory as value.

Change-Id: Id5c558d65def8c1fe5cf581a4a370508ac05e550
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Tomas Volf 2024-07-05 17:01:20 +02:00 committed by Ludovic Courtès
parent 9afa6209ea
commit 01183a77aa
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -857,11 +857,11 @@ (define (nginx-shepherd-service config)
the same configuration file. It is useful for situations where the same nginx
configuration file can point to different things after a reload, such as
renewed TLS certificates, or @code{include}d files.")
(procedure (nginx-action "-s" "reload")))
(procedure (nginx-action "-p" run-directory "-s" "reload")))
(shepherd-action
(name 'reopen)
(documentation "Re-open log files.")
(procedure (nginx-action "-s" "reopen"))))))))))
(procedure (nginx-action "-p" run-directory "-s" "reopen"))))))))))
(define nginx-service-type
(service-type (name 'nginx)