זהו הפקודה plackupp שניתן להפעיל בספק האחסון החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
plackup - הפעל את אפליקציית PSGI עם מטפלי Plack
תַקצִיר
# קרא את האפליקציה שלך מקובץ app.psgi
ערימות
# בחר קובץ .psgi מ-ARGV[0] (או עם אפשרות -a)
plackup hello.psgi
# החלף יישום שרת עם --server (או -s)
plackup --שרת 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
plackup -s FCGI --port 9090
תיאור
plackup הוא כלי שורת פקודה להפעלת יישומי PSGI משורת הפקודה.
plackup מגלה באופן אוטומטי את הסביבה שבה היא מופעלת, ומריץ את האפליקציה שלך
באותה סביבה. ניתן לזהות את FastCGI, CGI, AnyEvent ואחרים. לִרְאוֹת
Plack::Loader עבור הרשימה הסמכותית.
"plackup" מניח שיש לך סקריפט "app.psgi" בספרייה הנוכחית שלך. האחרון
הצהרה של "app.psgi" צריכה להיות הפניה לקוד שהיא יישום PSGI:
#!/usr/bin/perl
השתמש ב-MyApp;
my $application = MyApp->new;
my $app = sub { $application->run_psgi(@_) };
טיעונים
.psgi
plackup --host 127.0.0.1 --port 9090 /path/to/app.psgi
הארגומנט הראשון ללא אפשרות משמש כנתיב קובץ ".psgi". אתה יכול גם להגדיר את זה
נתיב עם "-a" או "--app". אם מושמט, נתיב הקובץ המוגדר כברירת מחדל הוא "app.psgi" ב-
ספרייה נוכחית.
אפשרויות
-a, --אפליקציה
מציין את הנתיב המלא לסקריפט ".psgi". אתה יכול לספק נתיב זה לסירוגין בתור
הטיעון הראשון ל-"plackup".
-e מעריך את קוד ה-perl הנתון כאפליקציית PSGI, בדומה לאפשרות ה-"-e" של perl:
plackup -e 'sub { my $env = shift; החזר [ ... ] }'
זה שימושי גם כאשר אתה רוצה להפעיל יישום מותאם אישית כמו Plack::App::*.
plackup -MPlack::App::File -e 'Plack::App::File->new(...)->to_app'
אתה יכול גם לציין את האפשרות "-e" עם נתיב הקובץ ".psgi" כדי לעטוף את היישום איתו
תצורת תוכנת האמצע משורת הפקודה. אתה יכול גם להשתמש ב-Plack::Builder DSL
תחביר בתוך קוד "-e". לדוגמה:
plackup -e 'אפשר "Auth::Basic", authenticator => ...;' myapp.psgi
שווה ליישום PSGI:
השתמש ב-Plack::Builder;
השתמש ב-Plack::Util;
בונה {
אפשר "Auth::Basic", authenticator => ...;
Plack::Util::load_psgi("myapp.psgi");
};
שים לב שכאשר אתה משתמש באפשרות "-e" כדי להפעיל תוכנת ביניים, plackup לא מניח את ה
נתיב "app.psgi" מרומז. עליך להעביר את הנתיב לקובץ ".psgi" שלך ב-
ארגומנטים של שורת הפקודה או טען את היישום בתוך "-e" לאחר ה-"enable".
plackup # מפעיל את app.psgi
plackup -e 'אפשר "Foo"' # לא עובד!
plackup -e 'enable "Foo"' app.psgi # עובד
plackup -e 'אפשר "Foo"; sub { ... }' # עובד
-o, --מארח
נקשר לממשק TCP. ברירת המחדל היא undef, מה שמאפשר לרוב הקצה האחורי של השרת להיקשר אליו
הממשק של כל (*). אפשרות זו תקפה רק עבור שרתים התומכים ב-TCP
שקעים.
-p, --port
נקשר ליציאת TCP. ברירת המחדל היא 5000. אפשרות זו תקפה רק עבור שרתים אשר
תומך בשקעי TCP.
-s, --server, משתנה הסביבה "PLACK_SERVER".
בוחר מימוש שרת ספציפי לרוץ עליו. כאשר מסופקים, ה-"-s" או
דגל "--server" יועדף על פני משתנה הסביבה.
אם לא ניתנת אפשרות, plackup ינסה לזהות את הטוב ביותר יישום שרת מבוסס
על משתני הסביבה כמו גם מודולים שנטענו על ידי האפליקציה שלך ב-%INC.
ראה Plack::Loader לפרטים.
-S, --שקע
מאזין בנתיב שקע תחום UNIX. ברירת המחדל היא undef. אפשרות זו תקפה רק עבור
שרתים התומכים בשקעי UNIX.
-ל, --תקשיב
מאזין בכתובת אחת או יותר, בין אם "HOST:PORT", ":PORT" או "PATH" (ללא
נקודתיים). אתה יכול להשתמש באפשרות זו מספר פעמים כדי להאזין במספר כתובות, אבל
השרת יחליט אם הוא תומך במספר ממשקים.
-D, --דמוניזציה
גורם לתהליך לרוץ ברקע. זה תלוי בשרת/המטפל האחורי
יישום בין אם מכבדים אפשרות זו או לא.
-I מציין את הנתיבים הכוללים של ספריית Perl, כמו האפשרות -I של "perl". אתה יכול להוסיף מרובים
נתיבים באמצעות אפשרות זו מספר פעמים.
-M טוען את המודולים בעלי השם לפני טעינת קוד האפליקציה. אתה יכול לטעון מודולים מרובים
באמצעות אפשרות זו מספר פעמים.
בשילוב עם "-r" או "-R" ייתכן שלא יהיה אפקט ההפעלה מחדש הרצוי כאשר
המודול שנטען משתנה בספריית הפיתוח. כדי למנוע בעיה זו אתה צריך
כדי לטעון את המודול עם קוד האפליקציה באמצעות "-e".
-E, --env, משתנה הסביבה "PLACK_ENV".
מציין את אפשרות הסביבה. הגדרת ערך זה עם "-E" או "--env" כותבת גם היא
למשתנה הסביבה "PLACK_ENV". זה מאפשר ליישומים או מסגרות
ספר באיזו הגדרת סביבה האפליקציה פועלת.
# שני אלה זהים
פריסת plackup -E
env PLACK_ENV=התקנת פריסה
ערכים נפוצים הם "פיתוח", "פריסה" ו"בדיקה". ערך ברירת המחדל הוא
"פיתוח", שגורם ל-"plackup" לטעון את רכיבי התווך: AccessLog,
StackTrace, ו מוֹך אלא אם הוגדר "--no-default-middleware".
--no-default-middleware
זה מונע טעינת מחסנית ברירת המחדל של תוכנת האמצע גם בסביבת Plack (כלומר
"-E" או "PLACK_ENV") מוגדר ל-"development".
-r, --טען מחדש
גורם ל-plackup להפעיל מחדש את השרת בכל פעם שקובץ בספריית הפיתוח שלך
שינויים. אפשרות זו כברירת מחדל צופה בספריית "lib" ובספריית הבסיס
איפה .psgi הקובץ נמצא. השתמש ב-"-R" כדי לצפות בספריות אחרות.
טעינה מחדש תעכב את הקומפילציה של האפליקציה שלך. זיהוי שרת אוטומטי
(ראה "-s" למעלה) עשוי שלא להתנהג כפי שאתה מצפה, אם plackup צריך לסרוק את שלך
יישום עבור המודולים שבהם הוא משתמש. הימנע מבעיות על ידי ציון "-s" במפורש מתי
באמצעות "-r" או "-R".
כדי למנוע בעיות עם שינויים במודולים שנטענו מראש, עיין בתיעוד עבור "-M".
-R, --טען מחדש
גורם ל-plackup להפעיל מחדש את השרת בכל פעם שקובץ בכל אחת מהספריות הנתונות
שינויים. "-R" ו-"--Reload" לוקחים רשימה מופרדת בפסיקים של נתיבים:
plackup -R /path/to/project/lib,/path/to/project/templates
כדי למנוע בעיות עם שינויים במודולים שנטענו מראש, עיין בתיעוד עבור "-M".
-ל, --מטעין
מציין את תת-מחלקת טעינת השרת המיישמת כיצד להפעיל את השרת.
האפשרויות הזמינות הן Plack::מטעין (ברירת מחדל), הפעל מחדש (מוגדר אוטומטית כאשר "-r"
או "-R" משמש), נדחה, ו רוֹבֵה צַיִד.
ראה Plack::Loader::Delayer ו-Plack::Loader::Shotgun לפרטים נוספים.
---access-log
מציין את שם הנתיב של קובץ שבו יש לכתוב את יומן הגישה. כברירת מחדל,
בסביבת הפיתוח יומני הגישה יעברו אל STDERR.
--נָתִיב
ציין את נתיב הבסיס של האפליקציה שלך ("SCRIPT_NAME" ב-PSGI env) להפעלה. הבאים
שתי פקודות זהות בערך.
plackup --path /foo app.psgi
plackup -e 'mount "/foo" => Plack::Util::load_psgi("app.psgi")'
אפשרויות אחרות שמתחילות ב-"--" מועברות לשרת הקצה האחורי. ראה כל אחד
התיעוד של Plack::Handler Backend לפרטים נוספים על האפשרויות הזמינות שלהם.
השתמש ב-plackupp באינטרנט באמצעות שירותי onworks.net