Aangepaste serverconfiguratie
Elke SuperSpace-site draait op Nginx en PHP-FPM met een afgestemde
standaardconfiguratie die voor de meeste WordPress-sites goed werkt. Heb je een
geavanceerde behoefte — een aangepaste rewrite, een niet-standaard cacheregel,
WordPress Multisite, of andere PHP-FPM-proceslimieten — dan kun je die configuratie
overschrijven door je eigen bestanden in de nginx/-map van de site te plaatsen.
(Voor het grotere geheel van hoe een site draait, zie
Het platform.)
Dit is een geavanceerde functie voor power-users
Een kapot configuratiebestand kan voorkomen dat Nginx of PHP-FPM start en je site offline halen. Wijzig één bestand tegelijk, bewaar een kopie van alles wat werkt, en weet dat je altijd kunt terugkeren door je aangepaste bestand te verwijderen en te herstarten (zie Terugkeren naar de standaardinstellingen).
Waar de bestanden komen
De overschrijvingsbestanden staan in de nginx/-map in de root van het volume van
je site:
/home/sftpuser/apps/{{ container name }}/wordpress/nginx/
Je bereikt deze met een van de methoden voor bestandstoegang — SFTP, SSH, de File Manager of Cloud Shell. Zie Toegang tot je bestanden voor hoe je verbinding maakt.
De bestanden die je kunt overschrijven
Plaats een bestand met een van deze exacte namen in de nginx/-map. Alleen de
exacte bestandsnaam wordt gebruikt — er is geen .sample- of .example-suffix op een
actief bestand.
| Bestand | Vervangt | Wat het regelt |
|---|---|---|
nginx/site.conf |
Het Nginx-serverblok van de site | root/webroot, location-blokken, rewrites en redirects, headers, en de cacheregels per site |
nginx/nginx.conf |
De globale Nginx-configuratie | Worker-processen en -verbindingen, gzip, buffers, de FastCGI-cachezone, real-IP, en globale logging |
nginx/pool.conf |
De PHP-FPM-pool-configuratie | Procesmanager-modus, pm.max_children, pm.max_requests, en php_admin_value[…]-instellingen zoals uploadgrootte |
Een configuratiebestand toevoegen of wijzigen
-
Open de
nginx/-map. Maak verbinding met SFTP, SSH, de File Manager of Cloud Shell. -
Maak het bestand aan met de exacte naam —
site.conf,nginx.confofpool.conf. Het makkelijkste startpunt is om het te baseren op een bekende, goed werkende standaard (zie De standaardinstellingen hieronder) en alleen te wijzigen wat je nodig hebt. -
Herstart de site. Open in het SuperSpace-dashboard de Instellingen van de site en gebruik de actie Herstarten. SuperSpace installeert je configuratiebestanden bij elke boot in de draaiende container, dus de wijziging wordt pas van kracht na een herstart.
WordPress Multisite
SuperSpace plaatst voorbeeldserverblokken voor Multisite in de nginx/-map —
multisite-subdirectory.conf.example en multisite-subdomain.conf.example. Om
Multisite in te schakelen, kopieer je degene die je wilt naar site.conf (laat de
.example-suffix weg), pas je het naar wens aan en herstart je.
De standaardinstellingen
Als je de basis kent, is het eenvoudiger om alleen te overschrijven wat je nodig hebt. De meegeleverde standaardinstellingen bevatten:
nginx.conf—worker_processes 2, gzip aan, een client body-limiet van 100M, en een FastCGI-cachezone met de naamWORDPRESS(500 MB, opgeslagen in/var/run/nginx-cache, TTL van 60 minuten).pool.conf— een statische procesmanager metpm.max_children = 3enpm.max_requests = 2000, luisterend op/tmp/php-fpm.sock, met upload- en post-limieten van 100M.
Een uitgeklede pool.conf ziet er zo uit:
[www]
user = www-data
group = www-data
listen = /tmp/php-fpm.sock
pm = static
pm.max_children = 3
pm.max_requests = 2000
php_admin_value[upload_max_filesize] = 100M
php_admin_value[post_max_size] = 100M
PHP-FPM-workers dimensioneren
Elke PHP-FPM-worker (pm.max_children) kan tot je PHP-geheugenlimiet gebruiken, dus
pm.max_children × geheugen per proces moet binnen het RAM van de site passen. Een
goed startpunt is om pm.max_children gelijk te stellen aan het aantal CPU-cores van
de site en dan bij te stellen. Te hoog instellen kan ervoor zorgen dat de container
zonder geheugen komt te zitten.
Aangepaste site.conf en caching
De ingebouwde cachebesturing van SuperSpace werkt op het standaard-serverblok: het
in- en uitschakelen van de cache in het dashboard en de instelling nginx.cache.enabled
in cloudpress.yml werken beide door dat bestand te bewerken.
Zodra je je eigen site.conf aanlevert, beheren die automatische besturingen het niet
meer — jij bent dan zelf eigenaar van de cachedirectives in je bestand. Als je
FastCGI-caching wilt, kopieer je de fastcgi_cache-regels en de $no_cache-condities
uit het standaard-serverblok naar je site.conf en stem je ze daar af.
Terugkeren naar de standaardinstellingen
Als een aanpassing problemen veroorzaakt, verwijder je het aangepaste bestand
(site.conf, nginx.conf of pool.conf) uit de nginx/-map en herstart je de
site. SuperSpace valt terug op zijn meegeleverde standaard voor elk bestand dat je
niet hebt overschreven, dus het verwijderen van je bestand herstelt netjes het
oorspronkelijke gedrag.
Verder lezen
- Configuratiebestand — het bestand
cloudpress.yml, dat de webroot, WordPress-paden en de ingebouwde cachetoggle regelt. - Geplande taken (cron) — voeg je eigen geplande commando's toe
via het
crontab-bestand naast deze configuraties. - Het platform — hoe Nginx, PHP-FPM en de andere containers van je site samenkomen.