ریډبین 2.0 د ویب غوښتنلیکونو لپاره یو پلیټ فارم دی چې په نړیوال اجرایوي زپ آرشیف کې بسته شوی

د Redbean 2.0 پروژې خوشې کول وړاندې کیږي، د ویب سرور وړاندیز کوي چې تاسو ته اجازه درکوي ویب غوښتنلیکونه د نړیوال اجرا وړ فایل په بڼه وړاندې کړئ چې په لینکس، وینډوز، MacOS، FreeBSD، NetBSD او OpenBSD کې اجرا کیدی شي. د ویب اپلیکیشن او سرور سره تړلې ټولې سرچینې په یو واحد اجرایوي فایل کې تالیف شوي، کوم چې د زپ آرشیف فارمیټ سره مطابقت لري او تاسو ته اجازه درکوي د اضافي فایلونو اضافه کولو لپاره د زپ افادیت څخه کار واخلئ. په مختلف OSs کې د یوې فایل چلولو وړتیا او دا د زپ آرشیف په توګه پیژندل شوی د اجرا وړ فایل سرلیکونو سمبالولو او د ملټي پلیټ فارم معیاري C کتابتون کاسموپولیټان سره لینک کولو سره ترلاسه کیږي. د پروژې کوډ د ISC جواز لاندې ویشل شوی.

د پروژې مفکوره د یو جوړ شوي ویب سرور سره د اجرا وړ فایل "redbean.com" چمتو کول دي. د ویب اپلیکیشن جوړونکی کولی شي دې فایل ته د HTML او Lua فایلونو اضافه کولو لپاره د زپ افادیت څخه کار واخلي او یو ځان لرونکی ویب غوښتنلیک ترلاسه کړي چې په ټولو مشهور عملیاتي سیسټمونو کې چلیږي او په سیسټم کې د چلولو لپاره جلا ویب سرور ته اړتیا نلري.

د پایلې د اجرا وړ فایل پیلولو وروسته، جوړ شوی ویب سرور په فایل کې خوندي شوي ویب غوښتنلیک ته د لاسرسي لپاره کارول کیږي. په ډیفالټ کې، هینډلر د لوکل هوسټ سره وصل دی، مګر سرور هم د منظم عامه ویب سرور په توګه کارول کیدی شي (د مثال په توګه، دا سرور د پروژې ویب پاڼې ته خدمت کوي). جوړ شوی ویب سرور د HTTPS لاسرسي ملاتړ کوي او د سینڈ باکس انزوا په کارولو سره اجرا کیدی شي ، کوم چې تاسو ته اجازه درکوي کنټرول کړئ کوم سیسټم انٹرفیس ته لاسرسی لري. د دې اجرا کولو پرمهال د سرور عملیات کنټرولولو لپاره ، یو متقابل REPL انٹرفیس چمتو شوی (د Lua REPL او غوره لاین کتابتون پراساس ، د GNU ریډ لاین انالوګ) ، کوم چې دا امکان ورکوي چې د پروسې حالت په متقابل ډول بدل کړي.

دا ادعا کیږي چې ویب سرور په منظم کمپیوټر کې په هره ثانیه کې د ملیون څخه ډیر غوښتنې پروسس کولو توان لري ، د gzip - کمپریس شوي مینځپانګې خدمت کوي. هغه څه چې د فعالیت سره مرسته کوي هغه دا دی چې زپ او جیزپ یو عام فارمیټ کاروي، نو ډیټا د زپ فایل کې د مخکینۍ کمپریس شوي ساحو څخه د بیا ډکولو پرته خدمت کیږي. برسېره پردې، څرنګه چې د اجرا وړ د جامد لینک کولو په کارولو سره رامینځته شوی او په اندازې کې کوچنی دی، په دې کې د فورک زنګ کول لږ څه معرفي کوي چې هیڅ حافظه نه لري.

د جامد ویب مینځپانګې پروسس کولو او په براوزر کې جاواسکریپټ اجرا کولو سربیره ، د ویب غوښتنلیک منطق په لوا کې د سکریپټونو په کارولو سره پراخه کیدی شي ، د فلمون ویب چوکاټ او SQLite DBMS. اضافي ب featuresو کې د ارګون 2 پاسورډ هش کولو سکیم لپاره ملاتړ ، د MaxMind ډیټابیس په کارولو سره د IP سیمې ټاکلو وړتیا ، او د کاسموپولیټان کتابتون یونیکس API ته لاسرسی شامل دي. د بنسټیز سټیک اندازه، چې پکې د ویب سرور، MbedTLS، Cosmopolitan، Lua او SQLite شامل دي، یوازې 1.9 MB دی.

یو نړیوال اجرا وړ فایل په یوه فایل کې د مختلف عملیاتي سیسټمونو (PE، ELF، MACHO، OPENBSD، ZIP) لپاره ځانګړي برخې او سرلیکونو سره یوځای کولو سره رامینځته کیږي. د دې لپاره چې ډاډ ترلاسه شي چې یو واحد اجرا وړ فایل په وینډوز او یونیکس سیسټمونو کې پرمخ ځي، یو چل دا دی چې د وینډوز PE فایلونه د شیل سکریپټ په توګه کوډ کړئ، د دې حقیقت څخه ګټه پورته کول چې تامپسن شیل د "#!" سکریپټ مارکر نه کاروي. پایله د اجرا وړ فایل دی چې په لینکس ، BSD ، وینډوز او macOS کې کارول شوي ډیری مختلف فارمیټونه ترکیب کوي. $ curl 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) واورئ http://127.0.0.1:8080 >: د امر په انتظار… $ curl https://127.0.0.1:8080/hello .html سلام $ printf 'GET /hello.lua\n\n' | nc 127.0.0.1 8080 سلام



سرچینه: opennet.ru

Add a comment