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.

Kapcsolódó cikkek