Webapplicaties serveren op Linux machines

Nginx

 

In deze blog post schrijf ik hoe een webapplicatie zoals Django kan gedraaid worden op een Ubuntu linux machine.
Ik leg hier uit wat o.a. de termen Nginx, Uwsgi, Proxy, statische content en GIT betekenen.

Bronuitleg

Nginx Webserver
Uwsgi Applicatie server
GIT  meestgebruikte versiebeheersysteem
Ubuntu Veelgebruikte Linux distributie

Inleiding

Je kunt webapplicaties op verschillende manieren inrichten op een server.
Ik ga het nu hebben over hoe het draaien van Nginx als reverse proxy in combinatie met UWSGI op een Ubuntu machine in zijn werking gaat.
In dit geval op het Ubuntu Linux 16.04 besturingsysteem. 16.04 is op het moment van schrijven de LTS (Long term support) versie.

Hoe werkt dit dan?

Nginx is de reverse proxy, dat wil zeggen regelt alles wat dynamisch (Python rendering) door de proxy, dat is de UWSGI proxy. Daarnaast is NGINX sterk in het snel serveren van statische content. Statische content zijn plaatjes, Javascript, CSS en video bestanden. De UWSGI is de proxy welke de python applicatie draait en kan dit met meerdere processen en threads tegelijk. Ook kan je de UWSGI zo instellen dat als je de code veranderd de UWSGI proxy automatisch de code wijziging detecteerd en de proxy herstart. Het updaten van de code gebeurt met GIT in de meeste gevallen. GIT is een van de meestgebruikte versiebeheersystemen, zie bijvoorbeeld Github. Met GIT kun je van een centrale locatie de code op meerdere plaatsen ophalen, wijzigen en weer opslaan terug naar de centrale locatie.

Heb je interesse?

Mocht je interesse hebben in zo'n dergelijke opzet met een maatwerk applicatie? Wij van Corebyte bouwen maatwerk applicaties en zorgen zelf voor de servers waarop het dient te draaien. Voor meer informatie kun je ons contacteren.