Nginx: Difference between revisions
imported>Csingley No edit summary |
imported>Srid →Sample setups: The email attribute is needed for trusted certs in browser |
||
Line 4: | Line 4: | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
security.acme.certs = { | |||
"blog.example.com".email = "youremail@address.com"; | |||
}; | |||
services.nginx = { | services.nginx = { | ||
enable = true; | enable = true; |
Revision as of 15:30, 8 February 2018
Sample setups
Static blog with ssl enforced in configuration.nix
security.acme.certs = {
"blog.example.com".email = "youremail@address.com";
};
services.nginx = {
enable = true;
virtualHosts."blog.example.com" = {
enableACME = true;
forceSSL = true;
root = "/var/www/blog";
};
}
LEMP stack (Nginx/MySQL/PHP) in configuration.nix
services.nginx = {
enable = true;
virtualHosts."blog.example.com" = {
enableACME = true;
forceSSL = true;
root = "/var/www/blog";
locations."~ \.php$".extraConfig = ''
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
'';
};
};
services.mysql = {
enable = true;
package = pkgs.mariadb;
};
services.phpfpm.poolConfigs.mypool = ''
listen = 127.0.0.1:9000
user = nobody
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500
'';