هذا هو أمر plackupp الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
بلاك اب - قم بتشغيل تطبيق PSGI باستخدام معالجات بلاك
موجز
# اقرأ تطبيقك من ملف app.psgi
بلاك اب
# اختر ملف .psgi من ARGV[0] (أو باستخدام خيار -a)
بلاك اب hello.psgi
# تبديل تنفيذ الخادم باستخدام --server (أو -s)
بلاك اب --server HTTP::Server::Simple --port 9090 --host 127.0.0.1 test.psgi
# استخدم مقبس UNIX لتشغيل برنامج FCGI
plackup -s FCGI --listen /tmp/fcgi.sock myapp.psgi
# إطلاق خادم FCGI الخارجي على المنفذ 9090
بلاك اب -s FCGI --المنفذ 9090
الوصف
بلاك اب هي أداة مساعدة لسطر الأوامر لتشغيل تطبيقات PSGI من سطر الأوامر.
يكتشف Blackup تلقائيًا البيئة التي يعمل فيها، ويقوم بتشغيل التطبيق الخاص بك
في تلك البيئة. يمكن اكتشاف FastCGI وCGI وAnyEvent وغيرها. يرى
Plack::Loader للقائمة الموثوقة.
يفترض "plackup" أن لديك برنامج نصي "app.psgi" في دليلك الحالي. الاخير
يجب أن تكون عبارة "app.psgi" مرجعًا برمجيًا يمثل تطبيق PSGI:
#!/ البيرة / بن / بيرل
استخدم MyApp؛
تطبيق $ الخاص بي = MyApp->new;
my $app = sub { $application->run_psgi(@_) };
الحجج
.psgi
بلاك اب --المضيف 127.0.0.1 --المنفذ 9090 /path/to/app.psgi
يتم استخدام الوسيطة غير الاختيارية الأولى كمسار ملف ".psgi". يمكنك أيضًا ضبط هذا
المسار مع "-a" أو "--app". إذا تم حذفه، فإن مسار الملف الافتراضي هو "app.psgi" في الملف
الدليل الحالي.
OPTIONS
-أ، --التطبيق
يحدد المسار الكامل للبرنامج النصي ".psgi". يمكنك توفير هذا المسار بالتناوب كـ
الوسيطة الأولى لـ "plackup".
-e يقوم بتقييم كود Perl المحدد باعتباره تطبيق PSGI، تمامًا مثل خيار "-e" الخاص بـ Perl:
plackup -e 'sub { my $env = Shift; يعود [ ... ] }'
كما أنه مفيد أيضًا عندما تريد تشغيل تطبيق مخصص مثل Plack::App::*.
بلاك اب -MPlack::App::File -e 'Plack::App::File->new(...)->to_app'
يمكنك أيضًا تحديد خيار "-e" مع مسار الملف ".psgi" لالتفاف التطبيق به
تكوين الوسيطة من سطر الأوامر. يمكنك أيضًا استخدام Plack::Builder DSL
بناء الجملة داخل الكود "-e". على سبيل المثال:
plackup -e 'تمكين "Auth::Basic"، Authenticator => ...;' myapp.psgi
يعادل تطبيق PSGI:
استخدم بلاك::Builder;
استخدم بلاك::Util;
منشئ {
تمكين "Auth::Basic"، Authenticator => ...;
بلاك::Util::load_psgi("myapp.psgi");
};
لاحظ أنه عند استخدام خيار "-e" لتمكين البرامج الوسيطة، لا يفترض بلاك اب أن
مسار "app.psgi" الضمني. يجب عليك إما تمرير المسار إلى ملف ".psgi" الخاص بك في ملف
وسيطات سطر الأوامر أو قم بتحميل التطبيق داخل "-e" بعد "تمكين".
بلاك اب # يقوم بتشغيل app.psgi
plackup -e 'enable "Foo"' # لا يعمل!
plackup -e 'enable "Foo"' app.psgi # Works
بلاك اب -e 'تمكين "فو"؛ الفرعية { ... }' # يعمل
-يا، --المضيف
يرتبط بواجهة TCP. الإعدادات الافتراضية هي undef، والتي تتيح ربط معظم الواجهات الخلفية للخادم
واجهة أي (*). هذا الخيار صالح فقط للخوادم التي تدعم TCP
مآخذ.
-p ، --port
يرتبط بمنفذ TCP. القيمة الافتراضية هي 5000. هذا الخيار صالح فقط للخوادم التي
دعم مآخذ TCP.
-s, --server، متغير البيئة "PLACK_SERVER".
تحديد تطبيق خادم محدد للتشغيل عليه. عند توفيره، "-s" أو
سيتم تفضيل علامة "--server" على متغير البيئة.
إذا لم يتم تحديد أي خيار، فسيحاول بلاك اب اكتشاف الملف أفضل يعتمد تنفيذ الخادم
على متغيرات البيئة بالإضافة إلى الوحدات النمطية التي تم تحميلها بواسطة تطبيقك في %INC.
راجع Plack::Loader للحصول على التفاصيل.
-S، - المقبس
يستمع على مسار مأخذ توصيل مجال UNIX. الإعدادات الافتراضية إلى undef. هذا الخيار صالح فقط ل
الخوادم التي تدعم مآخذ توصيل UNIX.
-ل ، - استمع
يستمع إلى عنوان واحد أو أكثر، سواء "HOST: PORT" أو ": PORT" أو "PATH" (بدون
النقطتين). يمكنك استخدام هذا الخيار عدة مرات للاستماع إلى عناوين متعددة، ولكن
سيقرر الخادم ما إذا كان يدعم واجهات متعددة.
-D، --daemonize
يجعل العملية تعمل في الخلفية. الأمر متروك للخادم/المعالج الخلفي
التنفيذ سواء تم احترام هذا الخيار أم لا.
-I يحدد أن مكتبة Perl تتضمن مسارات، مثل خيار -I الخاص بـ "Perl". يمكنك إضافة متعددة
المسارات باستخدام هذا الخيار عدة مرات.
-M يقوم بتحميل الوحدات المسماة قبل تحميل كود التطبيق. يمكنك تحميل وحدات متعددة
باستخدام هذا الخيار عدة مرات.
بالاشتراك مع "-r" أو "-R" قد لا يكون له تأثير إعادة التشغيل المطلوب عندما
يتم تغيير الوحدة المحملة في دليل التطوير. لتجنب هذه المشكلة تحتاج
لتحميل الوحدة برمز التطبيق باستخدام "-e".
-E، --env، متغير البيئة "PLACK_ENV".
يحدد خيار البيئة. يتم أيضًا كتابة تعيين هذه القيمة باستخدام "-E" أو "--env".
إلى متغير البيئة "PLACK_ENV". وهذا يسمح للتطبيقات أو الأطر
معرفة إعداد البيئة الذي يعمل عليه التطبيق.
#هذان هما نفس الشيء
بلاك اب -E النشر
env PLAACK_ENV=بلاك اب النشر
القيم المشتركة هي "التطوير" و"النشر" و"الاختبار". القيمة الافتراضية هي
"development"، والذي يتسبب في قيام "plackup" بتحميل مكونات البرامج الوسيطة: سجل الوصول,
تتبع المكدسو الوبر ما لم يتم تعيين "--no-default-middleware".
--لا يوجد برمجيات وسيطة
وهذا يمنع تحميل مكدس البرامج الوسيطة الافتراضية حتى عندما تكون بيئة Plack (على سبيل المثال
تم ضبط "-E" أو "PLACK_ENV") على "development".
-r، --إعادة التحميل
يجعل plackup يعيد تشغيل الخادم كلما كان الملف موجودًا في دليل التطوير الخاص بك
التغييرات. يقوم هذا الخيار افتراضيًا بمراقبة الدليل "lib" والدليل الأساسي
أين .psgi يقع الملف. استخدم "-R" لمشاهدة الدلائل الأخرى.
ستؤدي إعادة التحميل إلى تأخير تجميع التطبيق الخاص بك. الكشف التلقائي عن الخادم
(انظر "-s" أعلاه) قد لا يتصرف كما تتوقع، إذا كان بلاك اب بحاجة إلى فحص ملفك
تطبيق للوحدات التي يستخدمها. تجنب المشاكل عن طريق تحديد "-s" بشكل صريح عندما
باستخدام "-r" أو "-R".
لتجنب مشاكل التغييرات في الوحدات المحملة مسبقًا، راجع وثائق "-M".
-R، - إعادة التحميل
يجعل من الممكن إعادة تشغيل الخادم عند وجود ملف في أي من الدلائل المحددة
التغييرات. يأخذ "-R" و"--Reload" قائمة مسارات مفصولة بفواصل:
بلاك اب -R /path/to/project/lib,/path/to/project/templates
لتجنب مشاكل التغييرات في الوحدات المحملة مسبقًا، راجع وثائق "-M".
-L، - محمل
يحدد فئة تحميل الخادم الفرعية التي تنفذ كيفية تشغيل الخادم.
الخيارات المتاحة هي بلاك::لودر (افتراضي)، إعادة مبدئ (يتم ضبطه تلقائيًا عند "-r"
أو "-R" يستخدم)، مؤجلو بندقية الصيد.
راجع Plack::Loader::Delayed وPlac::Loader::Shotgun لمزيد من التفاصيل.
--سجل الوصول
يحدد اسم مسار الملف الذي يجب كتابة سجل الوصول إليه. بشكل افتراضي،
في سجلات الوصول إلى بيئة التطوير سوف تذهب إلى STDERR.
--طريق
حدد المسار الجذر لتطبيقك ("SCRIPT_NAME" في بيئة PSGI) للتشغيل. الأتى
أمران متماثلان تقريبًا.
بلاك اب --path /foo app.psgi
plackup -e 'mount "/foo" => Plack::Util::load_psgi("app.psgi")'
يتم تمرير الخيارات الأخرى التي تبدأ بـ "--" إلى الخادم الخلفي. نرى بعضنا
وثائق Plack::Handler الخلفية لمزيد من التفاصيل حول الخيارات المتاحة لها.
استخدم plackupp عبر الإنترنت باستخدام خدمات onworks.net