Jul/090
Installation d’un serveur web
La boucle de réaction aux requêtes utilisateurs est trop permissive et permet un accès fichier pour toute URL non reconnue.
On la transforme donc suivant le code suivant :
case Path of "test" -> ctrl_test:handle_http(Req, Params, Data); _ -> Req:respond({501, [], []}) end.
Seulement, les fichiers statiques devront continuer à être fournis au client. Pour cela, on installe un serveur web en frontal du service, et Nginx sera utilisé à cette fin.
En utilisant Arch, l’installation est simple :
yaourt -Sy nginx
On modifie la configuration afin de le faire pointer vers le répertoire des ressources statiques et également pour faire le routage vers notre serveur applicatif Mochiweb. La configuration est stockée dans le fichier /etc/nginx/conf/nginx.conf
et on la modifie comme suit :
server { listen 80; server_name localhost; # Serve static files location ~ ^/assets/ { root /d/apps/ercm/priv/www; expires 30d; } # Serve html views location ~ \.html$ { root /d/apps/ercm/priv/www; } # Anything else is redirected to Mochiweb location / { proxy_pass http://127.0.0.1:8000; }
Pour le démarrer, rien de plus simple :
sudo nginx
Le site doit fonctionner comme avant. Toute URL ne commençant pas par /assets
sera redirigée vers Mochiweb.
Attention ! Il s’agit d’une configuration de développement/test et non pas d’un exemple de ce qu’il faut faire en production, bien évidemment.