Erlang és http szerver
Nemrégiben lettem aktívan részt vesz a tanulási Erlang, és amennyire lehetséges, megosztja a felfedezések ezen a területen. Általában, amikor a HTTP szerver írt Erlang, emlékezni MochiWeb. vagy yaws. De a szokásos Erlang modulok már van egy HTTP szervert, mint az egyik szolgáltatás Inets alkalmazást. Nézzük meg, hogyan kell használni.
HTTP szerver futhat a különböző módon, de itt ki fogom fejteni a véleményem, a legrugalmasabb. Meg kell szerkezete a következő:
A könyvtár log / íródik naplófájlok. A www / könyvtárban tárolja a statikus fájlokat, ebben az esetben az index.html:
test.config - ez a fő konfigurációs fájl Inets alkalmazás, amelyen keresztül tudjuk fog futni egy HTTP szervert:
Itt httpd hozzá mint szolgáltatás inets konfiguráció httpd.conf:
Nézzük röviden vizsgálni a lehetőségeket:
A konfigurációs fájl is lehet hasonló formátumban Apache konfiguráció. de szeretem Erlang formátumban. További beállítási lehetőségek állnak rendelkezésre a httpd dokumentációt.
Az egyetlen lehetőség a erl_script_alias modul script szerepel például a rendelkezésre álló modulokat. Az eredeti fájl scripts.erl:
Funkció teszt / 3 leírjuk a teszt hozzáférési ponthoz:
- SessionId - ez a lekérdezés azonosító, amelyet az alkalmazott későbbi hívások mod_esi: szállít / 2. Nem ajánlott, hogy minden feltételezések azonosító típusát, de titokban, a jelenlegi végrehajtása - ez a folyamat pid.
- Env - egy listát a környezeti változók formájában [].
- Input - POST kérést az adatokat. Ebben az esetben nem használjuk őket.
mod_esi funkció: szállít / 2-t használjuk, hogy adatokat küldjön az ügyfélnek. Az első paraméter a továbbítandó bemeneti érkezett kérés azonosítója, majd egy listát a húrok továbbítására. Funkció nevezhetjük többször is, de ha azt szeretnénk, hogy át a főcímeket, akkor vissza kell az első hívást egy szállít, mint a példánkban.
A példa azt is használ kiegészítő szerepük méret / 1 formázására a környezeti változókat.
Megkezdése előtt, meg kell fordítani a modul:
És akkor kezdődik a fájlt a következő tartalommal:
Leállítás teszt szerver lehet egy szokásos Ctrl + C és a.