diff options
author | Danylo Hlynskyi <abcz2.uprola@gmail.com> | 2020-01-05 00:39:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-05 00:39:23 +0200 |
commit | cef68c4580f1d5bb648d0c7ce969f696fa1a2459 (patch) | |
tree | 335bc06603fc20a69a68033b243308185e118582 /nixos/modules/services | |
parent | 4c9e280001518328ae3be74cf80cb7b6e3017952 (diff) | |
download | nixlib-cef68c4580f1d5bb648d0c7ce969f696fa1a2459.tar nixlib-cef68c4580f1d5bb648d0c7ce969f696fa1a2459.tar.gz nixlib-cef68c4580f1d5bb648d0c7ce969f696fa1a2459.tar.bz2 nixlib-cef68c4580f1d5bb648d0c7ce969f696fa1a2459.tar.lz nixlib-cef68c4580f1d5bb648d0c7ce969f696fa1a2459.tar.xz nixlib-cef68c4580f1d5bb648d0c7ce969f696fa1a2459.tar.zst nixlib-cef68c4580f1d5bb648d0c7ce969f696fa1a2459.zip |
nixos/nginx: don't hide nginx config errors on nixos-rebuild --switch with reload enabled (#76179)
nixos/nginx: don't hide nginx config errors on nixos-rebuild --switch with reload enabled Closes https://github.com/NixOS/nixpkgs/issues/73455
Diffstat (limited to 'nixos/modules/services')
-rw-r--r-- | nixos/modules/services/web-servers/nginx/default.nix | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index ada7a25604c4..60a5b503def9 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -178,6 +178,8 @@ let then "/etc/nginx/nginx.conf" else configFile; + execCommand = "${cfg.package}/bin/nginx -c '${configPath}' -p '${cfg.stateDir}'"; + vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost: let onlySSL = vhost.onlySSL || vhost.enableSSL; @@ -682,10 +684,10 @@ in stopIfChanged = false; preStart = '' ${cfg.preStart} - ${cfg.package}/bin/nginx -c '${configPath}' -p '${cfg.stateDir}' -t + ${execCommand} -t ''; serviceConfig = { - ExecStart = "${cfg.package}/bin/nginx -c '${configPath}' -p '${cfg.stateDir}'"; + ExecStart = execCommand; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Restart = "always"; RestartSec = "10s"; @@ -706,11 +708,18 @@ in }; systemd.services.nginx-config-reload = mkIf cfg.enableReload { - wantedBy = [ "nginx.service" ]; + wants = [ "nginx.service" ]; + wantedBy = [ "multi-user.target" ]; restartTriggers = [ configFile ]; + # commented, because can cause extra delays during activate for this config: + # services.nginx.virtualHosts."_".locations."/".proxyPass = "http://blabla:3000"; + # stopIfChanged = false; + serviceConfig.Type = "oneshot"; + serviceConfig.TimeoutSec = 60; script = '' if ${pkgs.systemd}/bin/systemctl -q is-active nginx.service ; then - ${pkgs.systemd}/bin/systemctl reload nginx.service + ${execCommand} -t && \ + ${pkgs.systemd}/bin/systemctl reload nginx.service fi ''; serviceConfig.RemainAfterExit = true; |