]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/denise/evariste.nix
Migrate php sessions to redis
[perso/Immae/Config/Nix.git] / modules / private / websites / denise / evariste.nix
index 460302bcb10f7b901636da87acfdcd11e8cb6443..23dd03ffb4c7c09cc4449fa1a294285cc5753104 100644 (file)
@@ -1,4 +1,4 @@
-{ lib, config,  ... }:
+{ lib, config, pkgs, ... }:
 let
   cfg = config.myServices.websites.denise.evariste;
   nsiVarDir = "/var/lib/ftp/denise/nsievariste";
@@ -15,13 +15,6 @@ in {
     ];
 
     services.websites.env.production.modules = [ "proxy_fcgi" ];
-    system.activationScripts.denise_evariste = {
-      deps = [ "httpd" ];
-      text = ''
-        install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d /var/lib/php/sessions/denise_nsievariste
-        install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d /var/lib/php/sessions/denise_stmgevariste
-        '';
-    };
     services.phpfpm.pools.denise_nsievariste = {
       user = apacheUser;
       group = apacheGroup;
@@ -29,13 +22,17 @@ in {
         "listen.owner" = apacheUser;
         "listen.group" = apacheGroup;
 
-        "pm" = "ondemand";
-        "pm.max_children" = "5";
-        "pm.process_idle_timeout" = "60";
+        "pm" = "dynamic";
+        "pm.max_children" = "20";
+        "pm.start_servers" = "2";
+        "pm.min_spare_servers" = "1";
+        "pm.max_spare_servers" = "3";
 
-        "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_nsievariste:${nsiVarDir}:/tmp";
-        "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_nsievariste";
+        "php_admin_value[session.save_handler]" = "redis";
+        "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Denise:NsiEvariste:'";
+        "php_admin_value[open_basedir]" = "${nsiVarDir}:/tmp";
       };
+      phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]);
     };
     services.websites.env.production.vhostConfs.denise_nsievariste = {
       certName     = "denise_evariste";
@@ -68,13 +65,17 @@ in {
         "listen.owner" = apacheUser;
         "listen.group" = apacheGroup;
 
-        "pm" = "ondemand";
-        "pm.max_children" = "5";
-        "pm.process_idle_timeout" = "60";
+        "pm" = "dynamic";
+        "pm.max_children" = "20";
+        "pm.start_servers" = "2";
+        "pm.min_spare_servers" = "1";
+        "pm.max_spare_servers" = "3";
 
-        "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_stmgevariste:${stmgVarDir}:/tmp";
-        "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_stmgevariste";
+        "php_admin_value[session.save_handler]" = "redis";
+        "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Denise:StmgEvariste:'";
+        "php_admin_value[open_basedir]" = "${stmgVarDir}:/tmp";
       };
+      phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]);
     };
     services.websites.env.production.vhostConfs.denise_stmgevariste = {
       certName     = "denise_evariste";