יש לך שרת עם כתובת IP ציבורית יחידה, אך צריך לארח מספר דומיינים או תת-דומיינים? מה היית עושה? תרחיש זה יכול להיות מבלבל אם אתה מתחיל. אבל אל דאגה, המדריך הזה כאן בשבילך, כך שתוכל לשרת תת-דומיין של NGINX ומספר דומיינים.
במדריך זה, תלמד איך לשרת באופן יעיל תת-דומיינים של NGINX או מספר דומיינים על שרת אחד עם כתובת IP יחידה!
אם אתה מוכן, הגיע הזמן להתחיל!
דרישות מוקדמות
המדריך הזה מגיע עם הדגמות מעשיות אך לא דורש הרבה דרישות מוקדמות ויניח שיש לך שרת Ubuntu LTS עם SSH מופעל וNGINX מותקן. ההדגמות במדריך זה הן על שרת Ubuntu LTS 20.04.1.
הגדרת רשומות DNS
לפני שתוכל לשרת תת-דומיינים של NGINX או מספר דומיינים, תצטרך להוסיף רשומת A בפאנל הבקרה של DNS. רשומת ה-A מקשרת ומצביעה את כל הדומיינים ותת-הדומיינים לכתובת IP יחידה כדי לאפשר לדפדפני אינטרנט למצוא את האתר שלך.
1. הפעל את דפדפן האינטרנט המועדף עליך והתחבר ללוח הבקרה של DNS שלך.
2. לחץ על הוסף רשומה כדי להתחיל להוסיף רשומות A. הדפדפן שלך יוביל אותך לדף בו תקבע את הגדרות ה-DNS עבור הדומיין שלך ותתי הדומיין.

עכשיו קבע את הגדרות ה-DNS עם המפורטות הבאות:
בחר ברשומת A בשדה ה-סוג.
הזן @ בשדה ה-מארח, ואת כתובת ה-IP של השרת שלך בשדה ה-ערך.
בחר את הערך הרצוי שלך בשדה ה-TTL, ולאחר מכן לחץ על הלחצן אישור כדי לשמור את ההגדרות.
חזור על התהליך אותו הדבר לתתי הדומיין האחרים.

הדף הסופי של ההגדרות של ה-DNS נראה כמו בתמונה למטה.

לוח הבקרה של רשומת ה-DNS שלך עשוי להשתנות בפונקציונליות ובעיצוב, אך אותם עקרונות יחולו לכולם.
הגדרת ספריות אינטרנט לדומיין NGINX ולתתי הדומיין
עכשיו שהוספת רשומות A עבור הדומיין שלך ולתי הדומיין שלך, זמן להגדיר את ספריות האינטרנט שלהם. NGINX מגיע עם קובץ מארח וירטואלי ברירת מחדל ומוגדר לשרת ספריית אינטרנט שממוקמת ב-/usr/share/nginx/html.
תיצור ספריית אינטרנט נפרדת עבור כל דומיין בתוך שורש המסמך המוגדר ברירת מחדל של NGINX (/var/www/html).
1. ראשית, פתח את הטרמינל שלך והרץ את הפקודות הבאות כדי ליצור תיקיות אינטרנט לכל הדומיינים והסאבדומיינים. בכך תפריד, תארגן ותבדיל את הקבצים לכל אתר אינטרנט.
2. לאחר מכן, הרץ את פקודת chown
כדי לשנות את הבעלות של כל התיקיות שיצרת בשלב הראשון למשתמש ולקבוצה של www-data
. אתה משנה את הבעלות של כל התיקיות למשתמש ולקבוצה של www-data
מאחר ו-NGINX פועל כמשתמש www-data
.
3. צור קובץ בשם index.html בעורך הקוד המועדף עליך ואז העתק/הדבק את הקוד לקובץ index.html. שמור את הקובץ בתוך תיקיית האינטרנט הראשית של הדומיינים שלך (/var/www/html/awstutorial.net).
הקוד HTML למטה מציג הודעה שאומרת "ברכות! האתר awstutorial.net פועל!" כאשר הקובץ index.html נפתח בדפדפן אינטרנט.
4. לבסוף, צור את הקובץ index.html באותו שם בתיקיות /var/www/html/web1.awstutorial.net ו-/var/www/html/web2.awstutorial.net. אך החלף את awstutorial.net
ב־web1.awstutorial.net
וב־web2.awstutorial.net
בקוד של כל index.html בהתאמה.
הגדרת מארח וירטואלי עבור דומיין וסאבדומיינים של NGINX
כבר יש לך עמוד index.html עבור הדומיין והסאבדומיינים שלך להגיש דרך שרת אינטרנט של NGINX. השלב הבא הוא ליצור קובץ הגדרת מארח וירטואלי של NGINX עבור כל דומיין כדי להגיש את דפי ה־HTML.
1. צור קובץ תצורת וירטואלי של NGINX בשם awstutorial.net בעורך הקוד שלך המועדף, והעתק/הדבק את הקוד למטה לקובץ זה. שמור את הקובץ בתיקייה /etc/nginx/sites-available/.
הקוד למטה שולט בהתנהגות השרת שלך, כמו שם השרת ועמוד הבית (אינדקס) כאשר משתמש מנסה לגשת לדומיין שלך.
2. לאחר מכן, הפעל את הפקודה nginx
הבאה כדי לבדוק (-t
) את קובץ התצורה של NGINX לקיום שגיאות תחבורה.
אם לא נמצאת שגיאת תחבורה בקובץ התצורה של NGINX, תקבל את הפלט הבא.

3. בשלב הבא, הפעל את הפקודה ליצירת קישור סמלי (ln -s
) מהתיקייה /etc/nginx/sites-available לתיקייה /etc/nginx/sites-enabled/. פקודה זו מאפשרת את קובץ התצורה למארח וירטואלי awstutorial.net.
תבנית ה-sites-available וה-sites-enabled היא סטנדרטית בהתקנת NGINX על Ubuntu, אך התפצלויות אחרות עשויות להשתמש בתקנים שונים.
4. הרץ שוב את השלבים אחד עד שלוש כדי ליצור קבצי תצורה למארח וירטואלי של NGINX בשמות web1.awstutorial.net ו־web2.awstutorial.net.
שנה את השורות הבאות בכל קובץ תצורת מארח וירטואלי של NGINX:
- החלף את השורה
root /var/www/html/awstutorial.net
בתיקיית ה־webroot של כל תת־דומיין (root /var/www/html/web1.awstutorial.net
ו־root /var/www/html/web2.awstutorial.net
). - החלף את השורה
server_name awstutorial.net
בשם של כל תת־דומיין (server_name web1.awstutorial.net
ו־server_name web2.awstutorial.net
).
5. כעת הרץ את הפקודות sudo ln
הבאות כמו שעשית בשלב שלוש כדי לאפשר את קבצי תצורת המארח הווירטואלי.
6. הפעל את הפקודה systemctl
הבאה כדי לאתחל מחדש את שירות ה-NGINX (restart nginx
) כדי להחיל את כל שינויי התצורה.
7. לבסוף, נווט לכתובות ה-URL של הדומיין והתתי דומיינים בדפדפן שלך כדי לבדוק אם האתרים פועלים כהלכה.
אם הדומיין והתתי דומיינים נטענים, תראה הודעה כמו זו למטה.

הגדרת HTTPS על דומיין ותתי דומיינים של NGINX
הגדרת דומיין ותתי דומיינים של NGINX בפרוטוקול HTTP הושלמה בהצלחה. אך עליך לאבטח את החיבור של הדומיין והתתי דומיינים באמצעות HTTPS. כיצד? עם תעודה שתקבל מרשות תעודות כמו Let’s Encrypt SSL.
1. ראשית, הפעל את הפקודה להתקנת חבילת התוכנה Certbot (apt-get install certbot
). Certbot מאפשר לך להוריד תעודת SSL עבור הדומיין שלך ועבור תתי דומיינים.
2. לְאַחַר מֵאַיְזוֹ רְץ אֶת הַפְּקוּדָה certbot
לְמַטָה כְּדֵי לִהוֹרִיד תִעוּד SSL (certonly
) לְדוֹמֵי־הַתְּחִלָה שֶׁלֶךָ (-d awstutorial.net
). שִׁים לֵב שֶׁאַתָּה מַסִּיחַ בְּתוֹקֵף הַתְּקִנָה (—agree-tos
) עִם כְּתוֹת הַדוֹאָר שֶׁלְּךָ (—email
).
הֲקֵף אֶת הַדוֹאָר בַּעֲצַמְךָ.
3. הַזְּנָק ‘1’ כְּדֵי לִבְחוֹר אֶת הַתְּסִיר הַשֵּׁפֶרֶת NGINX (nginx) כְּדֵי לְאַמֵּת עִם הַתְּסִיר ACME CA, כְּמוֹ שֶׁמוּצָג מַטָה.

לְאַחַר בְּחִירַת הַתְּסִיר הַשֵּׁפֶרֶת NGINX, תֵּרֶאֶה אֶת כְּלֵי הַתִּקּוּן הַהוֹרָדָה שֶׁל תִעוּד SSL לְדוֹמֵי־הַתְּחִלָה שֶׁלְּךָ (awstutorial.net).
בְּבִרְירַת מֶחָלָק, תִּעוּדוֹת SSL שֶׁל Let’s Encrypt מְאוּחֲסִים בַּתֵּיקָה /etc/letsencrypt/live/.

4. עַכְשָׁו רְץ אֶת כָּל הַפְּקוּדוֹת לְמַטָה כַּמוֹ שֶׁעָשִׂיתָ בְּשַׁלְבֵי הַתְּחִלָה לְהוֹרִיד תִעוּדֵי SSL לְתַת־הַתְּחִילָה הַנוֹתָרוֹת (web1.awstutorial.net
וְweb2.awstutorial.net
).
5. לְבַסֹּוף, רְץ אֶת הַפְּקוּדָה ls
לִרְשֹׁום אֶת כָּל תִעוּדֵי SSL בַּתֵּיקָה /etc/letsencrypt/live/ שֶׁכֵּללוּ (*
) אֶת awstutorial.net
בְּשֵׁמָם. עֲשִׂי זֹאת כְּדֵי לְוַדֵּא שֶׁהַתִּעוּדוֹת SSL קַיָּמוֹת.
לְמַטָה, תֵּרֶאֶה אֶת תִעוּדֵי SSL לְדוֹמֵי־הַתְּחִילָה וּלְתַת־הַתְּחִילָה שֶׁלְּךָ.

הַגְדָּרַת הַמַּאֲרִיךְ הַוִרְטוּאָלִי שֶׁל NGINX לְשִׁימוּש תִעוּדֵי SSL
בנקודה זו, יש לך כבר תעודות SSL לרשותך. אך איך אתה משתמש בהן כדי לאבטח את הדומיין והדומיינים המשניים שלך? יש לך להגדיר את נתיבי התעודות בתוך הבלוק server
שבקובץ התצורה של כל מארח וירטואלי של NGINX.
1. פתח את קובץ התצורה של המארח הווירטואלי של NGINX של awstutorial.net הנמצא בתיקייה /etc/nginx/sites-available/
בעורך הקוד המועדף עליך.
2. החליף את תוכן הקובץ עם הקוד למטה, בו אתה מגדיר את נתיב תעודת SSL של הדומיין שלך והפרוטוקול של SSL (תחת נתיב התעודה SSL
).
3. חזור על אותו התהליך (שלבים אחד עד שני) עבור קבצי התצורה של מארח הוירטואלי הנותרים (web1.awstutorial.net ו web2.awstutorial.net). אך ודא שאתה מחליף את נתיב אישור ה-SSL בנתיב אישור ה-SSL של התת-דומיין שלך (תחת נתיב אישור ה-SSL
).
4. עכשיו הריץ שוב את פקודת ה-systemctl
למטה כדי לאתחל את שירות ה-NGINX ולהחיל את שינויי התצורה.
5. לבסוף, נווט אל כתובות ה-URL של הדומיין והתת-דומיין שלך בדפדפן האינטרנט שלך. אך הפעם, במקום פרוטוקול ה-HTTP, השתמש ב-HTTPS כדי לראות האם הם עובדים.
למטה, ניתן לראות סמל פנסיה בשורת הכתובת, המציין שהאתר מאובטח עם אישור ה-SSL שלך.

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