צד קליינט וצד שרת
-
יש את ספריית צד הקליינט, ויש את של צד השרת PHP, שהוא רק נותן נתונים בJSON.
הייתי רוצה שנקודת הגישה (כתובת הAPI של השרת) תהיה באותה ספריה של הקליינט, אבל מצד שני לא נראה לי לענין לשים את כל התיקיה של קבצי השרת כאחת מהתיקיות של הקליינט. (במיוחד שהם 2 פרוייקטים נפרדים ועם גיטים נפרדים).
השאלה היא האם (במקום תיקיה כנ"ל) מומלץ לעשות בתקיית הקליינט איזשהו קיצור דרך שיהווה את נקודת API ויפנה לקובץ השרת, ואיך? (מערכת ההפעלה ubuntu).
אם כן, מה כדאי בענין לעשות שקבצי הPHP יהיו על שרת נפרד, (וא"כ הכתובת של הקיצור דרך תפנה לURL חיצוני)? [הרעיון הוא שהפיצול יועיל בעתיד לאיזון עומסים כיון שספריית הקליינט מתבקשת רק פעם אחת לסשן והנתונים שמהשרת מרועננים כל הזמן].
תודה
-
@חוקר אמר בצד קליינט וצד שרת:
@chagold
למה שלא תפצל בשרת ע"י פרוקסי או מה?
איזה שרת זה? nginx או אפאצ'י?
בnginx ניתן בקלות לפי הurl להגדיר תיקיית שורש אחרת או פרוקסי לשרת אחר או לפורט אחרכרגע אפאצי. אם חובה לעבור אז אני רוצה לדחות את זה קצת.
אני ינסה עם זה. ואם לא ילך אעדכן.
תודה. -
@chagold אמר בצד קליינט וצד שרת:
כרגע אפאצי. אם חובה לעבור אז אני רוצה לדחות את זה קצת.
אני ינסה עם זה. ואם לא ילך אעדכן.אני בשעתו היה לי צורך במשהו הפוך.
רציתי שכל הניתובים יועברו לפרימווק YII שנמצא בתוך תיקיות משנה, מלבד הAPI שנמצא בתיקיית השורש.
וזה היה ההגדרות ששמתי אז
אולי תוכל לקחת השראה מזה..<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} !/api/ RewriteRule ^(.*)$ yii/frontend/web/$1 [L] </IfModule>
-
RewriteRule עושה ניתוב. אני מעוניין שכשניגשים לאתר לא יקבלו ניתוב לתיקית בת, אלא יוצג להם שהם בשורש הדומיין.
(אסביר יותר: יש לי כאמור לעיל 2 תיקיות, לאתר ול-API. אם אעשה את שניהם ב-2 תיקיות משנה מקבילות, אז יוצא שכל מי שיגש לדומיין יצטרך לגשת לתיקית משנה בשביל גוף האתר.
ואם אשים את קבצי האתר בשורש ואעשה את הAPI בתיקיה שנמצאת כתיקיית בת לתיקיית קבצי האתר, אז אני לא צריך את כל הניתוב. ואת זה מעיקרא לא רציתי כיון שהם 2 ספריות שונות)אז הברירה היחידה זה הפרוקסי?
-
@chagold אמר בצד קליינט וצד שרת:
RewriteRule עושה ניתוב. אני מעוניין שכשניגשים לאתר לא יקבלו ניתוב לתיקית בת, אלא יוצג להם שהם בשורש הדומיין.
(אסביר יותר: יש לי כאמור לעיל 2 תיקיות, לאתר ול-API. אם אעשה את שניהם ב-2 תיקיות משנה מקבילות, אז יוצא שכל מי שיגש לדומיין יצטרך לגשת לתיקית משנה בשביל גוף האתר.
ואם אשים את קבצי האתר בשורש ואעשה את הAPI בתיקיה שנמצאת כתיקיית בת לתיקיית קבצי האתר, אז אני לא צריך את כל הניתוב. ואת זה מעיקרא לא רציתי כיון שהם 2 ספריות שונות)אז הברירה היחידה זה הפרוקסי?
אם תשמיט את ה-
[L]
בסוף, הניתוב יתבצע רק בצד שרת, והלקוח לא יראה את זה. -
@chagold אמר בצד קליינט וצד שרת:
אם כן, מה כדאי בענין לעשות שקבצי הPHP יהיו על שרת נפרד, (וא"כ הכתובת של הקיצור דרך תפנה לURL חיצוני)? [הרעיון הוא שהפיצול יועיל בעתיד לאיזון עומסים כיון שספריית הקליינט מתבקשת רק פעם אחת לסשן והנתונים שמהשרת מרועננים כל הזמן].
לדעתי במקרה כזה תשים סאב דומיין לAPI, ואז תוכל בקלות אח"כ להפנות את הסאב דומיין לכתובת IP אחרת.
זה גם יפתור לך את הבעיה כרגע, כי תגדיר באפאצ'י תיקיית בית אחרת לדומיין של ה API.