Redbean 2.0 er vettvangur fyrir vefforrit pakkað í alhliða executable ZIP skjalasafn

Útgáfa Redbean 2.0 verkefnisins er kynnt, sem býður upp á vefþjón sem gerir þér kleift að afhenda vefforrit í formi alhliða keyrsluskrár sem hægt er að keyra á Linux, Windows, MacOS, FreeBSD, NetBSD og OpenBSD. Öll tilföng sem tengjast vefforritinu og þjóninum eru sett saman í eina keyrsluskrá, sem er samhæf við ZIP skjalasafnssniðið og gerir þér kleift að nota zip tólið til að bæta við fleiri skrám. Hæfni til að keyra eina skrá á mismunandi stýrikerfi og fá hana viðurkennda sem ZIP skjalasafn er náð með því að vinna með keyranlega skráarhausa og tengja við C-safnið Cosmopolitan með mörgum vettvangi. Verkefniskóðanum er dreift undir ISC leyfinu.

Hugmyndin með verkefninu er að útvega eina keyrsluskrá „redbean.com“ með innbyggðum vefþjóni. Hönnuður vefforrita getur notað zip tólið til að bæta HTML og Lua skrám við þessa skrá og fá sjálfstætt vefforrit sem keyrir á öllum vinsælum stýrikerfum og þarf ekki sérstakan vefþjón til að keyra á kerfinu.

Eftir að keyrsluskráin sem myndast hefur verið ræst er innbyggði vefþjónninn notaður til að fá aðgang að vefforritinu sem er vistað í skránni. Sjálfgefið er að stjórnandinn er tengdur við localhost, en þjóninn er einnig hægt að nota sem venjulegan opinberan vefþjón (til dæmis þjónar þessi miðlari verkefnisvefsíðuna). Innbyggði vefþjónninn styður HTTPS aðgang og hægt er að keyra hann með því að nota sandkassaeinangrun, sem gerir þér kleift að stjórna hvaða kerfisviðmótum er opnað. Til að stjórna rekstri þjónsins meðan á framkvæmd hans stendur er til staðar gagnvirkt REPL viðmót (byggt á Lua REPL og bestline bókasafninu, hliðstæða GNU Readline), sem gerir það mögulegt að breyta stöðu ferlisins gagnvirkt.

Því er haldið fram að vefþjónninn sé fær um að vinna úr meira en milljón beiðnum á sekúndu á venjulegri tölvu og þjóna gzip-þjappað efni. Það sem hjálpar afköstum er að zip og gzip nota algengt snið, þannig að gögn eru birt án þess að vera endurpakkað frá þegar þjöppuðum svæðum í zip skránni. Þar að auki, þar sem keyrslan er búin til með því að nota kyrrstæðar tengingar og er lítill í stærð, kynnir það að kalla gaffal á það lítið sem ekkert minniskostnaður.

Auk þess að vinna kyrrstætt vefefni og keyra JavaScript í vafranum er hægt að stækka vefforritsrökfræðina með því að nota forskriftir í Lua, Fullmoon veframmanum og SQLite DBMS. Viðbótaraðgerðir fela í sér stuðning við argon2 lykilorðahashingkerfið, getu til að ákvarða IP-svæðið með því að nota MaxMind gagnagrunninn og aðgang að Unix API Cosmopolitan bókasafnsins. Stærð grunnstafla, sem inniheldur vefþjón, MbedTLS, Cosmopolitan, Lua og SQLite, er aðeins 1.9 MB.

Alhliða keyranleg skrá er mynduð með því að sameina hluta og hausa sem eru sérstakir fyrir mismunandi stýrikerfi (PE, ELF, MACHO, OPENBSD, ZIP) í einni skrá. Til að tryggja að ein keyranleg skrá keyri á Windows og Unix kerfum er bragð að umrita Windows PE skrár sem skeljaforskrift og nýta þá staðreynd að Thompson Shell notar ekki "#!" forskriftarmerkið. Niðurstaðan er keyranleg skrá sem sameinar nokkur mismunandi snið sem notuð eru í Linux, BSD, Windows og macOS. $ krulla https://redbean.dev/redbean-demo-2.0.7.com >redbean.com $ chmod +x redbean.com $ zip redbean.com hello.html $ zip redbean.com hello.lua $ ./redbean .com -vv I2022-06-23T08:27:14+000767:redbean] (srvr) hlustaðu http://127.0.0.1:8080 >: beið eftir skipun... $ krulla https://127.0.0.1:8080/hello .html halló $ printf 'GET /hello.lua\n\n' | nc 127.0.0.1 8080 halló



Heimild: opennet.ru

Bæta við athugasemd