הקדמה
Nginx הוא אחד משרתי האינטרנט הפופולריים ביותר בעולם ואחראי לאירוח של חלק מהאתרים הגדולים והמרובי תעבורה ביותר באינטרנט. זהו בחירה קלה הניתנת לשימוש כשרת אינטרנט או כפרוקסי הפוך.
במדריך זה, נדון באופן התקנה של Nginx על השרת שלך באובונטו 22.04, נכוון את הגדרות הגדרת האש, ננהל את תהליך ה-Nginx, ונקבע בלוקי שרת לאירוח של יותר מדומיין אחד משרת יחיד.
הפוך לפעיל את היישומים שלך מ-פלטפורמת היישומים של DigitalOcean . התמקדו בהתרחבות של היישום שלך.
דרישות קדם
לפני שתתחיל במדריך זה, עליך לקבוע משתמש רגיל, לא root, עם הרשאות sudo על השרת שלך. ניתן ללמוד איך להגדיר חשבון משתמש רגיל על ידי מעקב אחרי המדריך שלנו הגדרה ראשונית של השרת עבור אובונטו 22.04.
תרצה גם אופציונלית לרשום דומיין לפני שתסיים את השלבים האחרונים של המדריך הזה. כדי ללמוד עוד על הגדרת שם דומיין עם DigitalOcean, אנא הסתכל על ה הקדמה ל-DigitalOcean DNS.
כאשר יש לך חשבון זמין, התחבר כמשתמש לא-רוט שלך כדי להתחיל.
שלב 1 – התקנת Nginx
כיוון ש-Nginx זמין במאגרי המידע ברירת המחדל של Ubuntu, ניתן להתקין אותו מהם באמצעות מערכת האריזות apt
.
מכיוון שזו הפעם הראשונה שלנו שבה אנו מתקשרים עם מערכת האריזות apt
במהלך זה, נעדכן את אינדקס החבילות המקומי שלנו כך שנהיה יכולים לגשת לרשימות החבילות העדכניות ביותר. לאחר מכן, נוכל להתקין את nginx
:
לחץ על Y
כאשר יתבקש לאשר את ההתקנה. אם יתבקש ממך לאתחל שירותים כלשהם, לחץ על ENTER
כדי לקבל את הברירות המחדלות ולהמשיך. apt
יתקין את Nginx ואת כל התלויות הנדרשות לשרת שלך.
שלב 2 – התאמת הגנה האש
לפני בדיקת Nginx, עליך להגדיר את תוכנת הגנה האש כך שתאפשר גישה לשירות. Nginx רשום כשירות עם ufw
בעת ההתקנה, ולכן פשוט לאפשר גישה ל-Nginx.
רשימת התצורות של היישום ש-ufw
מכיר אופנית יהיה כך:
תקבל רשימת פרופילי היישום:
OutputAvailable applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
כפי שמוצג בפלט, יש שלושה פרופילים זמינים עבור Nginx:
- Nginx Full: פרופיל זה פותח את הפורט 80 (תעבורת אינטרנט רגילה, לא מוצפנת) ואת הפורט 443 (תעבורת מוצפנת TLS/SSL)
- Nginx HTTP: פרופיל זה פותח רק את הפורט 80 (תעבורת אינטרנט רגילה, לא מוצפנת)
- Nginx HTTPS: פרופיל זה פותח רק את הפורט 443 (תעבורת מוצפנת TLS/SSL)
מומלץ לאפשר את הפרופיל המגביל ביותר שעדיין יאפשר את התעבורה שהגדרת. כרגע, נצטרך רק לאפשר תעבורה בפורט 80.
ניתן לאפשר זאת על ידי הקלדת:
ניתן לאמת את השינוי על ידי הקלדה:
הפלט יציין איזו תעבורת HTTP מותרת:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
שלב 3 – בדיקת שרת האינטרנט שלך
לסוף תהליך ההתקנה, Ubuntu 22.04 מתחילה את Nginx. שרת האינטרנט כבר צריך לעבוד.
ניתן לבדוק באמצעות מערכת ההפעלה systemd
כדי לוודא שהשירות פועל על ידי הקלדה:
Output● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-01 16:08:19 UTC; 3 days ago
Docs: man:nginx(8)
Main PID: 2369 (nginx)
Tasks: 2 (limit: 1153)
Memory: 3.5M
CGroup: /system.slice/nginx.service
├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2380 nginx: worker process
כפי שאושר על ידי הפלט הזה, השירות הופעל בהצלחה. אולם, הדרך הטובה ביותר לבדוק זאת היא לבקש בפועל עמוד מ- Nginx.
ניתן לגשת לעמוד הבית המוגדר ב- Nginx כדי לוודא שהתוכנה פועלת כראוי על ידי ניווט לכתובת ה-IP של השרת שלך. אם אינך מכיר את כתובת ה-IP של השרת שלך, ניתן למצוא אותה באמצעות הכלי icanhazip.com, שיציג לך את כתובת ה-IP הציבורית שלך כפי שהתקבלה ממקום אחר באינטרנט:
כאשר יש לך את כתובת ה-IP של השרת שלך, הזן אותה בתיבת הכתובת של הדפדפן שלך:
http://your_server_ip
אתה אמור לקבל את עמוד הבית המוגדר ב- Nginx:
אם אתה נמצא על דף זה, השרת שלך פועל באופן נכון ומוכן להיות ניהול.
שלב 4 – ניהול תהליך ה- Nginx
עכשיו שיש לך את שרת האינטרנט שלך מופעל, בואו נבדוק מספר פקודות ניהול בסיסיות.
כדי לעצור את שרת האינטרנט שלך, הקלד:
כדי להתחיל את שרת האינטרנט כאשר הוא עצר, הקלד:
כדי לעצור ולאחר מכן להתחיל את השירות שוב, הקלד:
אם אתה עושה שינויים רק בתצורה, ניתן לטעון מחדש את Nginx ללא הפסקת חיבורים. כדי לעשות זאת, הקלד:
ברירת המחדל, Nginx מוגדר להתחיל אוטומטית בעת האתחול של השרת. אם זה לא מה שאתה רוצה, אתה יכול להשבית את ההתנהגות הזו על ידי הקלדה:
לשחזור את השירות להתחלה באופן אוטומטי בזמן האתחול, אתה יכול להקליד:
עכשיו למדת פקודות ניהול בסיסיות ואמור להיות מוכן להגדיר את האתר כך שישמש יותר מדומיין אחד.
שלב 5 – הגדרת בלוקי שרת (מומלץ)
כאשר משתמשים בשרת האינטרנט Nginx, בלוקי שרת (דומים למארחים וירטואליים ב-Apache) ניתן להשתמש כדי לארוז פרטי הגדרה ולארח יותר מדומיין אחד משרת אחד. נקבע דומיין בשם your_domain, אך עליך להחליף זאת בשם הדומיין שלך.
Nginx ב-Ubuntu 22.04 מכיל ברירת מחדל בלוק שרת אחד המוגדר לספק מסמכים מתוך ספרייה ב-/var/www/html
. בעוד שזה עובד טוב לאתר יחיד, זה יכול להפוך לקשה אם אתה מארח מספר אתרים. במקום לשנות את /var/www/html
, בוא ניצור מבנה ספריות בתוך /var/www
עבור האתר של your_domain, שמשאיר את /var/www/html
במקום כספרייה ברירת המחדל לשרת אם בקשת לקוח לא תואמת אתרים אחרים.
צור את הספרייה עבור your_domain כך:
-p
באמצעות הספק הורה כל ספריות על ידי הקלדת:
אחר כך, הקצה את הבעלות על התיקייה באמצעות משתנה הסביבה $USER
:
ההרשאות של שורשי הרשת שלך צריכות להיות נכונות אם לא שינית את ערך ה-umask
שלך, שמגדיר את ההרשאות המותרות בברירת המחדל של הקובץ. כדי לוודא שההרשאות שלך נכונות ומאפשרות לבעלים לקרוא, לכתוב ולהריץ את הקבצים תוך הענקת הרשאות רק לקריאה ולהרצה לקבוצות ולאחרים, תוכל להזין את הפקודה הבאה:
אחר כך, צור דף index.html
דוגמה באמצעות nano
או העורך האהוב עליך:
בתוך הקובץ, הוסף את ה-HTML הדוגמא הבא:
שמור וסגור את הקובץ על ידי לחיצה על Ctrl+X
ליציאה, ואז כאשר מתבקש לשמור, לחץ Y
ואז Enter
.
כדי ש-Nginx ישיר את התוכן הזה, עלינו ליצור בלוק שרת עם ההנחיות הנכונות. במקום לשנות את קובץ התצורה הברירתי ישירות, בואו ניצור קובץ חדש ב-/etc/nginx/sites-available/your_domain
:
הדבק את בלוק התצורה הבא, שדומה לברירת המחדל, אך מעודכן עבור התיקייה החדשה שלנו ושם הדומיין:
שים לב שעדכנו את ההגדרת root
לתיקייה החדשה שלנו, ואת server_name
לשם הדומיין שלנו.
הבא, בואו נאפשר את הקובץ על ידי יצירת קישור ממנו אל תיקיית ה-sites-enabled
, שבה Nginx קורא בעת התחלת הפעולה:
הערה: Nginx משתמש בפרקטיקה נפוצה הנקראת קישורי סמליים, או סימלינקים, כדי לעקוב אחרי אילו בלוקי שרת שלך מופעלים. יצירת סימלינק היא כמו ליצור קיצור דרך בדיסק, כך שתוכל מאוחר יותר למחוק את הקיצור דרך מתיקיית sites-enabled
תוך שמירה על בלוק השרת בתיקיית sites-available
אם תרצה להפעיל אותו.
שני בלוקי שרת מופעלים כעת ומוגדרים להגיב לבקשות בהתבסס על ההנחיות של listen
ו־server_name
(ניתן לקרוא עוד על איך ש-Nginx מעבדת את ההנחיות הללו כאן):
your_domain
: יגיב לבקשות עבורyour_domain
ו־www.your_domain
.default
: יגיב לכל בקשות בפורט 80 שלא מתאימות לשני הבלוקים האחרים.
כדי למנוע בעיה אפשרית בזיכרון של הפאי המפתחי שעשוי להתעורר מהוספת שמות שרת נוספים, עלייך להתאים ערך יחיד בקובץ /etc/nginx/nginx.conf
. פתח את הקובץ:
מצא את ההנחיה server_names_hash_bucket_size
והסר את סמל ה-#
כדי להסיר את הערה מהשורה. אם אתה משתמש ב־nano, תוכל לחפש מהר מילים בקובץ על ידי לחיצה על CTRL
ו־w
.
הערה: הערת שורות בקוד – בדרך כלל על ידי שימוש ב־#
בתחילת שורה – היא דרך נוספת לניטרולם מבלי למחוק אותם בפועל. קבצי התצורה נשלחים עם מספר אפשרויות מופסקות על מנת שיהיה אפשר להפעילן או לנטרלן, על ידי שינוי בין קוד פעיל ותיעוד.
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
שמור וסגור את הקובץ כאשר תסיים.
בשלב הבא, בדוק כדי לוודא שאין שגיאות תחביר באף אחד מקבצי ה־Nginx שלך:
אם אין בעיות, הפעל מחדש את ה־Nginx כדי לאפשר את השינויים שלך:
כעת צריך שה־Nginx ישיר את שם הדומיין שלך. באפשרותך לבדוק זאת על ידי ניווט אל http://your_domain
, שם תראה משהו דומה לזה:
שלב 6 – התנסות בקבצים וספריות חשובים ב־Nginx
עכשיו שיש לך מושג על איך לנהל את שירות ה־Nginx עצמו, כדאי לך להקדיש כמה דקות להתנסות בכמה ספריות וקבצים חשובים.
תוכן
/var/www/html
: התוכן הרשמי של האתר, שברירת מחדל מורכב רק מדף הבית המוגדר כברירת מחדל שראית קודם, מוצג מתוך התיקייה/var/www/html
. ניתן לשנות זאת על ידי שינוי בקבצי התצורה של Nginx.
תצורת השרת
/etc/nginx
: ספריית התצורה של Nginx. כל קבצי התצורה של Nginx נמצאים כאן./etc/nginx/nginx.conf
: קובץ התצורה הראשי של Nginx. ניתן לשנות אותו כדי לבצע שינויים בתצורה הגלובלית של Nginx./etc/nginx/sites-available/
: התיקייה בה ניתן לאחסן בלוקי שרת לפי אתר. Nginx לא תשתמש בקבצי התצורה שנמצאים בתיקייה זו אלא אם ייעשה קישור אל התיקייהsites-enabled
. לרוב, כל הגדרות בלוק השרת מתבצעות בתיקייה זו ואז מופעלות על ידי קישור לתיקייה השנייה./etc/nginx/sites-enabled/
: התיקייה בה מאוחסנים בלוקי שרת לפי אתר שמופעלים. לרוב, אלו נוצרים על ידי קישור לקבצי התצורה שנמצאים בתיקייתsites-available
./etc/nginx/snippets
: תיקייה זו מכילה קטעי תצורה שניתן לכלול במקומות אחרים בתצורת Nginx. קטעי התצורה שניתן לחזור עליהם הם מועמדים טובים לשיפור באמצעות פיצול לקטעים.
יומני השרת
/var/log/nginx/access.log
: כל בקשה לשרת האינטרנט שלך מתעדכנת בקובץ יומן זה אלא אם Nginx מוגדרת לעשות אחרת./var/log/nginx/error.log
: כל שגיאה של Nginx תתעד ביומן זה.
מסקנה
עכשיו שהתקנת את שרת האינטרנט שלך, יש לך אפשרויות רבות לסוג התוכן שתרצה לספק ולטכנולוגיות שתרצה להשתמש בהן כדי ליצור חוויה עשירה יותר.
אם תרצה לבנות ערימת אפליקציה מורכבת יותר, ראה את המאמר איך להתקין את Linux, Nginx, MySQL, PHP (ערימת LEMP) על Ubuntu 22.04.
כדי להגדיר HTTPS עבור שם הדומיין שלך עם תעוד SSL חינמי באמצעות Let’s Encrypt, עליך להמשיך לקרוא את המאמר איך לאבטח את Nginx עם Let’s Encrypt על Ubuntu 22.04.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-22-04