diff options
author | Bjørn Forsman <bjorn.forsman@gmail.com> | 2016-07-26 22:44:34 +0200 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2016-07-27 23:53:58 +0200 |
commit | c7860cae1a4b54f4b54339142472f00f861fa055 (patch) | |
tree | c19e597c1e3ea93dfcc877604fa96a282fd33000 /nixos/modules | |
parent | 2ea77889ad9f87a1d27aae351af1fb3bf263ad73 (diff) | |
download | nixlib-c7860cae1a4b54f4b54339142472f00f861fa055.tar nixlib-c7860cae1a4b54f4b54339142472f00f861fa055.tar.gz nixlib-c7860cae1a4b54f4b54339142472f00f861fa055.tar.bz2 nixlib-c7860cae1a4b54f4b54339142472f00f861fa055.tar.lz nixlib-c7860cae1a4b54f4b54339142472f00f861fa055.tar.xz nixlib-c7860cae1a4b54f4b54339142472f00f861fa055.tar.zst nixlib-c7860cae1a4b54f4b54339142472f00f861fa055.zip |
Revert "phpfpm service: restructured pool configuration"
This reverts commit 6b3f5b5a421fe3422e9ef63a3fd690178c36163e because it introduced a non-backwards compatible change in the phpfpm interface, without really needing to. The new interface, if needed, can be re-added alongside the old interface. Commit 98e419c0e27dd21e9dee0b915876ea60 ("tt-rss service: init at 16.3") depends on the new interface, so this commit updates the tt-rss service to work with the old services.phpfpm.poolConfigs interface.
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/module-list.nix | 2 | ||||
-rw-r--r-- | nixos/modules/services/web-apps/tt-rss.nix | 35 | ||||
-rw-r--r-- | nixos/modules/services/web-servers/phpfpm.nix (renamed from nixos/modules/services/web-servers/phpfpm/default.nix) | 34 | ||||
-rw-r--r-- | nixos/modules/services/web-servers/phpfpm/pool-options.nix | 35 |
4 files changed, 39 insertions, 67 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5d04140dad50..d202b5a2c724 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -474,7 +474,7 @@ ./services/web-servers/lighttpd/gitweb.nix ./services/web-servers/lighttpd/inginious.nix ./services/web-servers/nginx/default.nix - ./services/web-servers/phpfpm/default.nix + ./services/web-servers/phpfpm.nix ./services/web-servers/shellinabox.nix ./services/web-servers/tomcat.nix ./services/web-servers/uwsgi.nix diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix index 541aac1d0ef1..b08070f1e366 100644 --- a/nixos/modules/services/web-apps/tt-rss.nix +++ b/nixos/modules/services/web-apps/tt-rss.nix @@ -17,6 +17,7 @@ let else cfg.database.port; poolName = "tt-rss"; + phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock"; virtualHostName = "tt-rss"; tt-rss-config = pkgs.writeText "config.php" '' @@ -448,23 +449,21 @@ let root = "/var/lib/tt-rss"; in mkIf cfg.enable { - services.phpfpm.pools = if cfg.pool == "${poolName}" then { - "${poolName}" = { - listen = "/var/run/phpfpm/${poolName}.sock"; - extraConfig = '' - listen.owner = nginx - listen.group = nginx - listen.mode = 0600 - user = nginx - pm = dynamic - pm.max_children = 75 - pm.start_servers = 10 - pm.min_spare_servers = 5 - pm.max_spare_servers = 20 - pm.max_requests = 500 - catch_workers_output = 1 - ''; - }; + services.phpfpm.poolConfigs = if cfg.pool == "${poolName}" then { + "${poolName}" = '' + listen = "${phpfpmSocketName}"; + listen.owner = nginx + listen.group = nginx + listen.mode = 0600 + user = nginx + pm = dynamic + pm.max_children = 75 + pm.start_servers = 10 + pm.min_spare_servers = 5 + pm.max_spare_servers = 20 + pm.max_requests = 500 + catch_workers_output = 1 + ''; } else {}; # TODO: Re-enable after https://github.com/NixOS/nixpkgs/pull/15862 is merged @@ -486,7 +485,7 @@ let # locations."~ \.php$" = { # extraConfig = '' # fastcgi_split_path_info ^(.+\.php)(/.+)$; - # fastcgi_pass unix:${config.services.phpfpm.pools."${cfg.pool}".listen}; + # fastcgi_pass unix:${phpfpmSocketName}; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME ${root}/$fastcgi_script_name; diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm.nix index 6befddf9f522..2658d7117e37 100644 --- a/nixos/modules/services/web-servers/phpfpm/default.nix +++ b/nixos/modules/services/web-servers/phpfpm.nix @@ -9,12 +9,6 @@ let pidFile = "${stateDir}/phpfpm.pid"; - mkPool = n: p: '' - [${n}] - listen = ${p.listen} - ${p.extraConfig} - ''; - cfgFile = pkgs.writeText "phpfpm.conf" '' [global] pid = ${pidFile} @@ -22,7 +16,7 @@ let daemonize = yes ${cfg.extraConfig} - ${concatStringsSep "\n" (mapAttrsToList mkPool cfg.pools)} + ${concatStringsSep "\n" (mapAttrsToList (n: v: "[${n}]\n${v}") cfg.poolConfigs)} ''; phpIni = pkgs.writeText "php.ini" '' @@ -67,19 +61,33 @@ in { "Options appended to the PHP configuration file <filename>php.ini</filename>."; }; - pools = mkOption { - type = types.attrsOf (types.submodule (import ./pool-options.nix { - inherit lib; - })); + poolConfigs = mkOption { + type = types.attrsOf types.lines; default = {}; + example = literalExample '' + { mypool = ''' + listen = /run/phpfpm/mypool + user = nobody + pm = dynamic + pm.max_children = 75 + pm.start_servers = 10 + pm.min_spare_servers = 5 + pm.max_spare_servers = 20 + pm.max_requests = 500 + '''; + } + ''; description = '' - If no pools are defined, the phpfpm service is disabled. + A mapping between PHP FPM pool names and their configurations. + See the documentation on <literal>php-fpm.conf</literal> for + details on configuration directives. If no pools are defined, + the phpfpm service is disabled. ''; }; }; }; - config = mkIf (cfg.pools != {}) { + config = mkIf (cfg.poolConfigs != {}) { systemd.services.phpfpm = { wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/web-servers/phpfpm/pool-options.nix b/nixos/modules/services/web-servers/phpfpm/pool-options.nix deleted file mode 100644 index cc688c2c48a2..000000000000 --- a/nixos/modules/services/web-servers/phpfpm/pool-options.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib }: - -with lib; { - - options = { - - listen = mkOption { - type = types.str; - example = "/path/to/unix/socket"; - description = '' - The address on which to accept FastCGI requests. - ''; - }; - - extraConfig = mkOption { - type = types.lines; - example = '' - user = nobody - pm = dynamic - pm.max_children = 75 - pm.start_servers = 10 - pm.min_spare_servers = 5 - pm.max_spare_servers = 20 - pm.max_requests = 500 - ''; - - description = '' - Extra lines that go into the pool configuration. - See the documentation on <literal>php-fpm.conf</literal> for - details on configuration directives. - ''; - }; - }; -} - |