מדריך מלא שלב אחר שלב להתקנה והגדרה של שרת אינטרנט של Nginx במערכת אובונטו 20.04
Nginx הוא שרת פרוקסי הפוך בקוד פתוח ופופולרי הזמין במספר פלטפורמות. התוכנה פותחה על ידי איגור סיסוייב כפתרון לבעיית C10K ושוחררה לראשונה בשנת 2004. בעיית C10K היא הבעיה של טיפול בעשרת אלפים לקוחות במקביל, מה שהיה די לא קל בתחילת שנות ה-2000.
במדריך זה, אנו בוחנים כיצד להתקין ולהגדיר את Nginx ב- Ubuntu 20.04 LTS.
דרישות מוקדמות
מערכת עם אובונטו 20.04 מותקנת וא סודו
מִשׁתַמֵשׁ. בנוסף, לא צריך שיהיה לך שרת אינטרנט אחר כמו Apache הפועל ביציאה 80 או 443.
התקנת Nginx
Nginx זמין במאגר Ubuntu 20.04 ו מַתְאִים
ניתן להשתמש במנהל החבילות כדי להתקין אותו. אז כדי להתקין Nginx פתח את הטרמינל באמצעות ctrl+alt+t
ורוץ:
sudo apt update && sudo apt התקן את nginx
ההתקנה תסתיים בקרוב וה-Nginx daemon יתחיל ברקע באופן אוטומטי. אז כדי לבדוק את המצב של Nginx, הרץ:
sudo systemctl status nginx
לאחר הפעלת הפקודה לעיל, אתה אמור לקבל סטטוס Nginx as פעיל (ריצה)
בצבע ירוק כפי שניתן לראות למטה.
הגדרת חומת האש של אובונטו (UFW)
כברירת מחדל, היציאות היוצאות HTTP (80) ו-HTTPS (443) סגורות באובונטו 20.04. בנוסף, דמון חומת האש המוגדר כברירת מחדל ufw
מושבת מכיוון שכל היציאות סגורות.
לפיכך, כדי לגשת לשרת Nginx ממערכות אחרות, תצטרך להפעיל את ufw
ולהגדיר אותו בצורה נכונה כדי לאפשר תעבורה בנמל 80
ו 443
. לפני שאתה מפעיל ufw
, דע שאם אתה מגדיר את Nginx בשרת מרוחק, תחילה עדכן את ה ufw
כללים לאפשר ssh
על ידי ריצה:
sudo ufw לאפשר ssh
הפקודה לעיל מאפשרת את ssh
גישה לשרת המרוחק, מבלי להתיר ssh
תינעל מחוץ לשרת המרוחק.
לאחר הפעלת ssh
גישה, אתה יכול להפעיל את ufw
דמון חומת האש על ידי הפעלת:
sudo ufw enable
כעת, עליך לשנות את כללי חומת האש כדי לאפשר יציאות HTTP ו-HTTPS כך ש-Nginx יוכל לשרת תעבורת אינטרנט. כדי לשנות את הכללים, הפעל:
sudo ufw לאפשר 'Nginx Full'
Nginx מלא
מאפשר יציאות HTTP ו-HTTPS לתנועה נכנסת ויוצאת מכל כתובות ה-IP.
לאחר מכן, ודא אם הכללים מתווספים כהלכה ufw
חומת אש על ידי הפעלת הפקודה:
מצב sudo ufw
הפקודה לעיל תוציא את הכללים שהוספנו אליהם ufw
דמון חומת האש.
מתחבר לשרת Nginx
עכשיו כשהתקנו את Nginx והגדרנו ufw
כדי לאפשר תעבורת אינטרנט נכנסת של HTTP ו-HTTPS, אתה אמור להיות מסוגל לגשת לשרת Nginx באמצעות כתובת ה-IP של השרת.
אם אינך יודע את כתובת ה-IP של השרת, השתמש בפקודה למטה כדי לאחזר אותה בקלות.
כתובת ip הצג את eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
לאחר שקיבלת את כתובת ה-IP, הדבק אותה בדפדפן שלך ולחץ על אנטר.
//השרת-IP שלך
אם הכל הוגדר כהלכה, אתה אמור להיות מסוגל לראות את דף האינטרנט 'ברוכים הבאים ל-nginx!'.
קבצים וספריות של Nginx
כעת לאחר שהתקנתנו את Nginx ופועלת בשרת שלך. תן לנו להסתכל על כמה מהקבצים והספריות החשובות של Nginx שבהן תצטרך להשתמש כדי להגדיר את האתר/אפליקציית האינטרנט שלך.
תוכן שרת אינטרנט
אתה יכול להגדיר כל מיקום שאתה רוצה להיות ספריית השורש שלך עבור בלוק השרת שלך. ברירת המחדל של Nginx ישירות היא /var/www/html
, זה המקום שבו נמצא דף ה'ברוכים הבאים' שאליו ניגשנו קודם לכן.
מיקומים אחרים המשמשים בדרך כלל כספריית שורש עבור דומיינים כוללים:
/בית//
/var/www/html/
/העדיף/
קבצי תצורה של Nginx
כל קובצי התצורה של Nginx נמצאים ב /etc/nginx
מַדרִיך. בואו נסתכל על כמה מהקבצים החשובים שאנחנו צריכים כדי להגדיר דומיין בסיסי.
/etc/nginx/nginx.conf
: קובץ זה מכיל את כל התצורה הדרושה להפעלת Nginx./etc/nginx/sites-available/
: ספרייה זו כוללת את כל תצורת בלוקי השרת של דומיינים, אך כרגע אינן מופעלות/פרוסות ולכן אינן נגישות על ידי לקוחות./etc/nginx/sites-enabled/
: ספרייה זו מכילה דומיינים פעילים/מופעלים כרגע, הנגישים ללקוח. כדי להפעיל דומיין עלינו לקשר את קובץ תצורת הדומיין ממנואתרים זמינים
אל המופעלים באתרים
מַדרִיך./etc/nginx/snippets
/: בספרייה זו, אנו יכולים לאחסן קטעי תצורה שניתן להשתמש בהם שוב ושוב. זה חוסך זמן רב בסביבת הייצור בשל העובדה שהוא יכול להפוך מקטעים/בלוקים של תצורה לשימוש חוזר.
יומני שרת
Nginx רושם את האירועים/פעילויות ומאחסן אותם בקובצי יומן ב- /var/log/nginx
מַדרִיך. ה-Nginx רושם פעילויות בקבצים הבאים:
/var/log/nginx/access.log
: קובץ זה רושם את הלקוחות שניגשו לשרת Nginx. הפרטים כוללים את כתובת ה-IP של הלקוח, שעה ותאריך, דפדפן המשמש לגישה לשרת ומערכת ההפעלה./var/log/nginx/error.log
: קובץ זה רושם את השגיאות שבהן נתקל שרת Nginx בזמן ההפעלה.
אז, בסעיף זה, הסתכלנו בקצרה על כמה מקבצי Nginx וספריות חשובות שמספיקות כדי להתחיל.
הגדרת חסימות שרתים
כעת, כשיש לנו קצת ידע בסיסי על קבצי Nginx והשרת, אנו מוכנים להגדיר בלוק שרת משלנו. בלוקים של שרתים דומים למארחים וירטואליים של Apache.
נבחן כיצד ליצור בלוק שרת וכדי להדגים שנשתמש בו example.com
כתחום בתהליך היצירה.
💡 החלף example.com
עם שם הדומיין שלך.
לפני שנתחיל להגדיר שרת בלוקים, עלינו ליצור ספרייה שתשמש כספריית השורש לתוכן האתר. תן לנו ליצור /var/www/example.com/html
ספרייה לשימוש בדומיין mkdir
פקודה.
sudo mkdir -p /var/www/example.com/html
ה -עמ'
option תיצור את כל ספריות האב הדרושות. כלומר, זה ייצור example.com
ספריית אב ל html
אם זה לא קיים.
שנה בעלות על הספרייה עם $USER
משתנה הסביבה:
sudo chown -R $USER:$USER /var/www/example.com/html
לאחר מכן, צור פשוט index.html
הקובץ שניגשת אליו כאשר אתה מבקר בדומיין המוגדר. זה לצורך הסבר בלבד.
ננו /var/www/example.com/html/index.html
הדבק את התוכן הבא בקובץ שיצרנו זה עתה בשרת.
ברוכים הבאים ל-example.com! יו! ה-example.com נגיש!
ללחוץ ctrl+o
לכתוב ולשמור את index.html
קובץ ולאחר מכן, הקש ctrl+x
לצאת ננו
עוֹרֵך.
עכשיו סוף סוף נוכל לעבור ליצירת בלוק שרת, כך ש-Nginx יוכל לשרת את index.html
כאשר משתמש כלשהו הולך אל example.com
. אז כדי ליצור בלוק שרת אנחנו צריכים לעשות קובץ תצורה בשם example.com
ב אתרים זמינים
מַדרִיך. לשם כך, אנו משתמשים בננו ומריצים:
sudo nano /etc/nginx/sites-available/example.com
ולאחר מכן, הקלד או העתק/הדבק את התצורה הבאה. לאחר מכן לחץ ctrl+o
והזן כדי לכתוב ולשמור. באופן דומה, הקש ctrl+x
כדי לסגור את עורך הננו.
שרת { האזנה 80; תקשיב [::]:80; server_name example.com www.example.com; root /var/www/example-domain.com/html; index index.html; מיקום / { try_files $uri $uri/ =404; } }
התצורה שלעיל דומה לתצורת ברירת המחדל של בלוק שרת, שינינו שורש
הצהרה כדי להצביע על ספריית השורש החדשה שלנו ושינתה את שם שרת
לשם הדומיין שלנו. בזמן ש מקום{}
הצהרה משמשת כהצהרת error catch אם לא נמצאו קבצים ומציגה שגיאה 404 ללקוח.
לאחר מכן, נוכל להפעיל את חסימת השרת שלנו כך ש-Nginx ישרת example.com
דפי אינטרנט. כדי להפעיל את חסימת השרת שלנו עלינו ליצור קישור סימול של example.com
קובץ מ אתרים זמינים
ל מופעלים באתרים
מַדרִיך. כדי לעשות זאת, הפעל:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
קישור ייווצר ב מופעל באתר
ספרייה ועכשיו example.com
צריך להיות מופעל. כעת יש לנו שני בלוקי שרת מופעלים בשרת Nginx שלנו שיגיבו לבקשה על סמך להקשיב
ו sever_name
הנחיות שנשמרו ב example.com
תצורת בלוק שרת.
כדי לבדוק אם כל קבצי התצורה נכונים ואין שגיאת תחביר, הרץ:
sudo nginx -t
כעת, סוף סוף הפעל מחדש את Nginx כדי להחיל את השינויים על ידי הפעלת הפקודה הבאה:
sudo systemctl הפעל מחדש את nginx
Nginx יתחיל להגיש את בלוק השרת שלך עכשיו, אתה יכול ללכת אל //שם הדומיין שלך
ולראות את דף האינטרנט שלך בשידור חי.
הערה: כדי שהסעיף לעיל יעבוד, תצטרך להגדיר דומיין משלך ולהחליף אותו example.com
עם שם דומיין משלך. כמו כן, תצטרך להגדיר את ה-DNS עבור הדומיין שלך כך שיצביע על כתובת ה-IP של שרת Nginx שלך.
לסיום, בדקנו כיצד להתקין את Nginx, להגדיר ufw
כדי לאפשר גישה מרחוק לשרת Nginx, מחובר ל-Nginx מרחוק, הכירו כמה קבצים וספריות Nginx בסיסיות ולמדו כיצד להגדיר בלוק שרת.
כדי לדעת וללמוד עוד על Nginx, אולי תרצה לראות את Nginx wiki.