django – התקנה ופריסה – חלק ג’

אחרי שערכנו הכרות עם תשתית הפיתוח Django, זהר ארד מסביר לנו כיצד להתקינה על מחשבנו הצנוע או על שרתנו המפואר כדי שנוכל להראות לכל דורש מה נאה היישום שכתבנו.

djangoאחרי שערכנו הכרות עם תשתית הפיתוח Django, הגיעה העת להתקינה על מחשבנו הצנוע או על שרתנו המפואר כדי שנוכל להראות לכל דורש מה נאה היישום שכתבנו (נפחו את החזה עכשיו). כמו בסדרה על ריילס, נקפח גם כאן קלות את משתמשי חלונות, תוך זריקת מילות עידוד חרישיות – עברו למערכת הפעלה לינוקסית או יוניקסית.

התקנה מקומית (לצרכי פיתוח)
ההתקנה של Django היא תהליך פשוט למדי:

  1. מורידים את חבילת ההתקנה מהאתר של הפרוייקט.
  2. מחלצים את קבצי ההתקנה מהקובץ המכווץ שהורדנו.
  3. ניגשים בשורת הפקודה לתיקייה המכילה את קבצי ההתקנה של Django ומריצים: sudo python setup.py install

זהו זה – Django מותקנת (שימו לב שאת ההתקנה עצמה יש לעשות עם הרשאות מנהל). כדי להוסיף תמיכה במסד נתונים (כמו MySQL) עלינו להתקין את המתאם של פייתון ל MySQL.

משתמשי לינוקס יכולים להתקין דרך מנהל החבילות של ההפצה. באובונטו, שם החבילה הוא python-mysqldb. לחילופין ניתן להתקין את החבילה מקוד המקור או מ”ביצת הפתעה” (המקבילה הפייתונית ל”אבני החן” של רובי – חבילת התקנה בינארית שאינה מצריכה הידור קוד מקור). את קוד המקור או ביצת ההפתעה, ניתן להוריד מאתר החבילות לפייתון.

פריסה על שרת

את Django ניתן להריץ על כל שרת התומך בפרוטוקול WSGI המיועד להרצת יישומי פייתון על שרתי ווב. בנוסף, ניתן להריץ את Django באמצעות פרוטוקול CGI או באמצעות מודול פייתון לשרת Apache.

להלן השרתים באמצעותם ניתן להריץ יישום Django עם המודולים הרלבנטיים:
שרת Apache צורך את המודולים הבאים: mod_python, mod_wsgi, mod_fcgi, mod_fastcgi.
שרת Lighttpd
צורך את מודול ה- Normal 0 false false false EN-US X-NONE HE MicrosoftInternetExplorer4 FastCGI.
שרת Nginx צורך גם הוא את מודול ה-
Normal 0 false false false EN-US X-NONE HE MicrosoftInternetExplorer4 <!– /* Font Definitions */ @font-face {font-family:”Cambria Math”; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 415 0;} @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-520081665 -1073717157 41 0 66047 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:””; margin:0cm; margin-bottom:.0001pt; mso-pagination:none; mso-hyphenate:none; font-size:12.0pt; font-family:”Times New Roman”,”serif”; mso-fareast-font-family:Arial; mso-bidi-font-family:Tahoma; mso-font-kerning:.5pt; mso-ansi-language:EN; mso-fareast-language:HE;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} –>

FastCGI.

כזכור לכם, שרתי Lighttpd ו Nginx נחשבים לשרתים מדור חדש יותר ובעלי ביצועים משופרים בחלק מהמקרים. אם אתם בקיאים בהתקנות והגדרות משורת הפקודה או סתם סקרנים, אני ממליץ בחום לנסותם. אם אתם מעוניינים ללכת בדרך המלך, מומלץ להריץ את Django תחת Apache באמצעות mod_wsgi. מידע נוסף על אפשרויות פריסה של יישומי Django ניתן למצוא במדריך הפריסה של Django.

עורכי קוד מומלצים

PyDev – תוסף ל Eclipse (זמין היום דרך Aptana Studio)
Komodo Edit – סביבת פיתוח התומכת במגוון שפות, כולל פייתון
Eric IDE – סביבת פיתוח פייתון ללינוקס
TextMate – סביבת פיתוח (בתשלום) למקינטוש. ניתן להפעיל תמיכה בפייתון באמצעות תוסף.

קידוד נעים!

לפוסטים הקודמים בסדרה:

django – תשתית פיתוח לפרפקציוניסטים – חלק א’
django – פיוטים בפייתון – חלק ב’

זהר ארד

בן 35, קיבוצניק שהדרים לעיר הגדולה, מפתח client-side בנשמתו (מטהקפה, קול הקמפוס 106fm ואחרים). משתמש מקינטוש מושבע (שחוטא גם בלינוקס בשעות הפנאי). מעדיף הכל פשוט, מינימליסטי ועובד טוב ומשתדל להמנע מדברים עם הלוגו של מיקרוסופט ונהגי מוניות כעסנים. אוהב הרבה Web, מתובלת בג’אווהסקריפט, HTML, CSS, פייתון ורובי, ספרים, פפאיות ומוזיקה מהחנות (בדיסק המקורי). מתנודד תדיר בין אקזיסטנציאליזם לאינדיבידואליזם ונכון להיום עדיין אוחז ב-fetish לא מוסבר לצבים.

הגב

7 Comments on "django – התקנה ופריסה – חלק ג’"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
אסף
Guest

ג’נגו (וכמובן פייתון) רצה חלק על חלונות, בניגוד לשמועות ששמעתי על ריילס.
מה שעלול להסתבך זה לגרום לאפאצ’י לעבוד עם פייתון – פשוט אפשר להשתמש בשרת המובנה של ג’נגו, אם מדובר בעבודה לצורכי פיתוח נטו.

זהר ארד
Guest

נראה לי שזה שריילס אולי לא רצה חלק על חלונות (לא יכול להעיד מנסיון) זה feature שרומז למפתח שהוא צריך לעבור למערכת הפעלה שמתאימה לפיתוח Web

אורי
Guest

אהלן

אני מתחיל עכשיו בפרויקט אקדמי שבנוי על תשתית של דג’נגו משולב עם NGINX ואני מסתבך עם ההנעה של הכל בגלל חוסר ידע ב-WEB. עכשיו ההתמקדות שלי זה לבנות שרת שמזרים סרט לדפדפן בעת בקשה, ואני בינתיים מנסה לעבוד על ההקמה של השרת

למה אתה מתכוון כשאתה אומר “צורך” במשפט: “שרת Nginx צורך גם הוא את מודול ה-…” ?

תודה רבה

זהר ארד
Guest

אורי, אתה יכול להריץ אפליקציות פייתון על Nginx באמצעות uWSGI או באמצעות Passenger – שניהם מודולים שמתקמפלים ל Nginx.

אורי
Guest

לצורך העניין אפליקציית הפייתון שלנו היא Django?

אולי אתה יכול להכווין אותי למדריך או משהו דומה שמסביר על השילוב בין django ל-nginx ואיך אני שם פרויקט שבניתי בדג’נגו על גבי שרת ה-nginx?

תודה על העזרה.

זהר ארד
Guest

אורי, אין הבדל בין להריץ את דג׳נגו או את פלאסק או כל אלפיקציית פייתון וובית שתומכת ב WSGI.

הייתי ממליץ לך פשוט להתקין את Passenger עבור פייתון ולסגור עניין. הנה לינק למדריך קצת ישן (יש כבר גרסאות חדשות של nginx, passenger וכו׳) אבל רוב העקרונות תקפים – http://kbeezie.com/using-python-nginx-passenger/

מציע לך לקרוא עוד כמה מדריכים כדי שעקרונות יהיו ברורים לפני שאתה מתקין.

בהצלחה

אורי
Guest

תודה רבה זהר.

העקרונות הם בדיוק בעיית ההתנעה שלי (:
אנסה לעבור על המדריך, אשמח למשהו יותר בסיסי אם אתה מכיר.
ואם לא אז שוב, תודה על העזרה.

wpDiscuz

תגיות לכתבה: