1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-28 03:51:53 +02:00

services: nginx: Make service extensible.

* gnu/services/web.scm (<nginx-configuration>)[server-blocks]: New
field.
(nginx-activation): When CONFIG-FILE is #f, use 'default-nginx-config'.
(nginx-shepherd-service): Likewise.
(nginx-service-type): Add 'compose' and 'extend' fields.
(nginx-service): Change default value of #:server-list to '(), and
default value of #:config-file to #f.
* doc/guix.texi (Web Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Julien Lepiller
2016-12-13 21:00:53 +01:00
committed by Ludovic Courtès
parent 4e9ae301ce
commit d338237d8c
2 changed files with 42 additions and 10 deletions
+16 -2
View File
@@ -11827,8 +11827,8 @@ The @code{(gnu services web)} module provides the following service:
@deffn {Scheme Procedure} nginx-service [#:nginx nginx] @
[#:log-directory ``/var/log/nginx''] @
[#:run-directory ``/var/run/nginx''] @
[#:server-list (list (nginx-server-configuration))] @
[#:config-file]
[#:server-list '()] @
[#:config-file @code{#f}]
Return a service that runs @var{nginx}, the nginx web server.
@@ -11844,6 +11844,20 @@ this to work, use the default value for @var{config-file}.
@end deffn
@deffn {Scheme Variable} nginx-service-type
This is type for the nginx web server.
This service can be extended to add server blocks in addition to the
default one, as in this example:
@example
(simple-service 'my-extra-server nginx-service-type
(list (nginx-server-configuration
(https-port #f)
(root "/srv/http/extra-website"))))
@end example
@end deffn
@deftp {Data Type} nginx-server-configuration
Data type representing the configuration of an nginx server block.
This type has the following parameters: