This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== NGINX ====== [[https://nginx.org/|Nginx]] (uitgesproken als “engine-x”) is een webserver en een reverse-proxyserver voor HTTP-, SMTP-, POP3- en IMAP-protocollen, sterk gericht op hoge prestaties en laag geheugengebruik. ===== Builds ===== Nginx bestaat in 2 smaken: een [[https://nginx.com|commerciële]] en een [[https://nginx.org|open source]] variant. Wij bieden de open source smaak aan. Deze wordt gebouwd in de Major.Medior.Minor formaat (bijv. 1.21.6). Wij brengen de de images met de volgende speciale tags : ^ Formaat ^ Voorbeeld ^ Uitleg ^ | latest | registry.npohosting.nl/npohosting/nginx:latest | Laatste build van hoogste Major.Medior | | Major.Medior | registry.npohosting.nl/npohosting/nginx:1.21 | Laatste build van de genoemde Major.Medior | | Major.Medior.Minor | registry.npohosting.nl/npohosting/nginx:1.21.6 | Specifieke versie release | Wij adviseren voor projecten om de Major.Medior te gebruiken om zo de security op peil te houden en na testen de Medior versie te verhogen wanneer dit nodig is. ===== Versies ===== We onderhouden de meest recente zgn "mainline" release. Op moment van schrijven is dat 1.21.x. Minor updates releasen we 1x per 4 weken, tenzij er ernstige security incidenten gevonden worden, dan releasen we zo snel mogelijk. ===== Gebruik ===== Deze nginx build maakt gebruik van S2I intergratie, dit houd in dat deze gebruikt kan worden in een Openshift build en je hier code in kan deployen via een repository en een deploy script. ==== Reverse proxy ==== Zonder gebruik van het build proces is deze image te gebruiken als reverse proxy, dit kan gedaan worden door in Openshift een ConfigMap toe te voegen aan de deploy. Deze ConfigMap dient minimaal een default.conf key te bevatten met de reverse proxy config. Een voorbeeld voor deze config map is te vinden in onze nginx-phpfpm template. ==== deploy script ==== Deze image zoekt tijdens het build proces van S2I naar deploy.sh, deze hoort in de root van de repository te staan. In een deploy-script kunnen zaken als PHP-Composer worden gebruikt. ==== Webroot ==== De webroot van deze image bevind zich in /var/www/html ==== HTTP Caching ==== Het is mogelijk om caching aan te zetten, hiervoor dienen een aantal dingen uitgevoerd te worden. Maak een caching directory aan die in memory leeft, door ervoor te zorgen dat er in de deployment config onder spec.template.spec het volgende staat bij volume: <code> volumes: - emptyDir: medium: Memory name: nginx-cache - configMap: defaultMode: 420 name: nginx-confd name: nginx-confd - configMap: defaultMode: 420 items: - key: nginx.conf path: nginx.conf name: nginx-conf name: nginx-conf </code> Zet vervolgens onder spec.template.spec.container in de specifieke container onder volumeMounts: <code> volumeMounts: - mountPath: /mnt/nginx-cache name: nginx-cache - mountPath: /etc/nginx/conf.d name: nginx-confd - mountPath: /etc/nginx/nginx.conf name: nginx-conf </code> === Verhoog de memory limits van de pod === Zorg ervoor dat de memory limit van de pod minimaal de hoeveelheid memory is van de cache + 128MB. Dit kun je in de deploymentconfig aanpassen onder ''spec.template.spec.container'' in de specifieke container onder resources: <code> resources: limits: memory: 640Mi </code> === Voeg caching regels toe aan nginx config === Maak een nginx-conf ConfigMap aan met de key nginx.conf, deze zit standaard in onze Nginx-php-fpm template. Kijk op https://nginx.org/en/docs voor verdere uitleg over alle directives die in een config-file kunnen staan. Zorg dat de volgende regel boven aan de config staat: <code> proxy_cache_path /mnt/nginx-cache levels=1:2 keys_zone=cache:10m inactive=24h max_size=350m ; </code> Maak een nginx-confd ConfigMap aan voor vhost configuratie met minimaal een default.conf als key. voeg hier in de vhost configuratie het volgende toe: <code> proxy_cache cache; proxy_cache_key $scheme$request_method$host$request_uri; proxy_cache_revalidate on; proxy_cache_use_stale error timeout updating; proxy_cache_background_update on; proxy_cache_lock on; add_header X-Proxy-Cache $upstream_cache_status; add_header X-Proxy-Http-Date $upstream_http_date; </code> chp/images/nginx.txt Last modified: 2026/05/27 14:01by 127.0.0.1 Log In