איך להתקין את NGINX על Mac לצורך בדיקה

אתה צריך לבדוק את האתר שאתה מפתח אך יש לך רק את ה-Mac לעבודה? אין צורך לבנות שרת נפרד או מכונה וירטואלית רק כדי לבדוק את האתר שלך. אחת מהאפשרויות המהירות היא להתקין את NGINX על Mac, וכך יהיה לך שרת אינטרנט פעיל ישירות על המחשב שלך.

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

דרישות מוקדמות

המדר הזה יהיה הדגמה מעשית. אם תרצה להתעקוב, הקפד לוודא שיש לך את הבא:

התקנת NGINX על Mac

ישנם שני אמצעים להתקין את NGINX על Mac – על ידי קימור והתקנה מהמקור או עם מנהל חבילות. אך אמצעי ההתקנה אחד אינו טוב יותר מהשני. איזה אמצעי אתה בוחר יתלווה לדרישותיך.

בקטעים הבאים, תלמד כיצד לבצע שני אמצעי התקנה של NGINX.

אמצעי 1: קימור והתקנה מהמקור

הקימור והתקנת NGINX מהמקור מעניקים לך את הגמישות לכלול מודולים או תיקוני אבטחה בהתקנת NGINX שלך. לדוגמה, תוכל לקמור את NGINX כדי לכלול את המודול Real-Time Messaging Protocol (RTMP) אם אתה מגדיר שרת נציג.

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

1. פתח את טרמינל על המחשב שלך.

2. הרץ את הפקודה הבאה כדי ליצור תיקיית עבודה תחת התיקייה הביתית שלך. תיקייה זו תכיל את כל קבצי המקור שאתה צריך להתקין את NGINX.

# צור תיקיית מקור תחת התיקייה הביתית שלך
mkdir ~/src && cd ~/src

3. לאחר מכן, הרץ את הפקודות הבאות כדי להוריד (curl) ולחלץ (tar) את ה-Perl Compatible Regular Expressions (PCRE) החדש ביותר. המודולים NGINX Core ו־Rewrite דורשים PCRE. הגרסה האחרונה של PCRE כעת היא 8.45.

# הורד וחלץ את מקור PCRE
curl -OL https://ftp.exim.org/pub/pcre/pcre-8.45.tar.gz
tar -xf pcre-8.45.tar.gz && rm pcre-8.45.tar.gz

4. הרץ את כל הפקודות הבאות כדי להוריד (curl) את מקור OpenSSL כדי להוסיף תמיכה ב־SSL. ההוספה הזו היא דוגמה להתאמה אישית של בניית NGINX. הגרסה האחרונה של OpenSSL כעת היא 1.1.1m.

# הורד וחלץ את קבצי מקור OpenSSL
curl -OL http://www.openssl.org/source/openssl-1.1.1m.tar.gz
tar -xf openssl-1.1.1m.tar.gz && rm openssl-1.1.1m.tar.gz

5. לאחר הורדת הדרישות, הריצו את הפקודות הבאות כדי להוריד (curl) ולחלץ (tar) את מקור ה- NGINX. הגרסה היציבה האחרונה כפי שנכתב כעת היא 1.20.2.

# הורד וחלץ את קבצי המקור של NGINX
curl -OL http://nginx.org/download/nginx-1.20.2.tar.gz
tar -xf nginx-1.20.2.tar.gz && rm nginx-1.20.2.tar.gz
# רשומ את הקבצים/תיקיות בתיקייה הנוכחית
ls -l

בנקודה זו, עליכם להיות לכם שלוש תיקיות חדשות בסך הכול, כפי שמוצג למטה.

Listing the source folders

6. כעת, הריצו את הפקודות הבאות כדי להיכנס (make) ולהתקין (install) את NGINX.

# היכנסו לתיקיית המקור של NGINX
cd nginx-1.20.2

# צור את קובץ התצורה של NGINX
## פרמטרים:
## --with-pcre=../pcre-8.45/ : מציין את המיקום של מקור PCRE
## --with-http_ssl_module : מאפשר תמיכה ב- HTTPS
## --with-openssl=../openssl-1.1.1m/ : מציין את מקור ה- OpenSSL. דרוש על ידי ה- http_ssl_module
./configure --with-pcre=../pcre-8.45/ --with-http_ssl_module --with-openssl=../openssl-1.1.1m/

# היכנסו לתיקיית המקור של NGINX
make
# התקינו את NGINX
sudo make install

7. לבצע את הפקודה הבאה כדי להוסיף את נתיב ה- NGINX ל- $PATH של המערכת על ידי הוספת הנתיב המלא /usr/local/nginx לקובץ /etc/paths. לאחר השלב הזה, תוכלו להריץ פקודות של nginx בלי לציין את הנתיב המלא.

# הוסף את NGINX לקובץ /etc/paths
echo /usr/local/nginx/sbin | sudo tee -a /etc/paths

8. עצר את הטרמינל על ידי לחיצה על CMD+Q ופתח סשן טרמינל חדש כדי להחיל את השינוי ב-$PATHS.

9. הרץ את הפקודה nginx למטה כדי להתחיל את NGINX מאחר והשרת של NGINX לא מתחיל באופן אוטומטי לאחר ההתקנה.

sudo nginx

10. לבסוף, אשר כי NGINX פועל. פתח חלון דפדפן רשת והכנס את הכתובת HTTP://localhost. אתה צריך לראות את דף הברכה המותאם של NGINX כמו בדוגמה למטה.

התקנת NGINX מהמקור מגדירה את פתח ההאזנה המוגדר כברירת מחדל 80.

Accessing the NGINX default web page

מאחר שהתקנת NGINX על Mac מהמקור כ root, תצטרך להוסיף את קידומת sudo לכל פקודת nginx שאתה מונה בעתיד.

שיטה 2: התקנת NGINX באמצעות Homebrew

התקנת NGINX עם Homebrew היא נוחה יותר ופחות נוטה לטעויות. שיטה זו מתקינה תלותים באופן אוטומטי. אם אינך צריך להתאים אישית את ההתקנה של NGINX, אז זו האפשרות המהירה ביותר ודורשת רק פקודה אחת להתקנה!

כדי להתקין את NGINX על Mac באמצעות Homebrew, עקוב אחר השלבים הבאים.

1. פתח סשן טרמינל חדש.

2. הרץ את הפקודה הבאה brew כדי להתקין את NGINX.

brew install nginx

האם אפשר להתקין את NGINX כ root עם Homebrew? – לא (לא באופן רשמי). פקודת ההתקנה של brew מסרבת להרצות עם קידומת sudo. אם תנסה, תקבל את ההודעת שגיאה הבאה.

”Er” או: הפעלת Homebrew כ-root היא קריטית וסוכנות. מאחר ש-Homebrew לא מוריד זכויות בהתקנה, זה יתן לכל סקריפטי הבנייה גישה מלאה למערכת שלך.”

3. לאחר התקנה, קרא את הפקודה הבאה כדי להתחיל את NGINX. פקודה זו מפעילה את NGINX כשירות רקע.

כברירת מחדל, Homebrew מתקין את NGINX ב-/usr/local/Cellar/nginx/<version> ויוצר קישורי סמליים ב-/usr/local/opt/. הקובץ הבינארי של nginx יש קישור סמלי ב-/usr/local/bin ותיקייה זו כבר כלולה ב-$PATH.

nginx

כדי להפעיל את NGINX בלי שירות רקע, הפעל את הפקודה הבאה במקום. פקודה זו מונית גלובלית לא להפעיל את nginx כשירות רקע.

nginx -g “daemon off;”

ניתן לעצור את NGINX על ידי לחיצה על CTRL+C בטרמינל במצב זה.

4. לבסוף, הפעל את הפקודה curl למטה כדי לוודא ש-NGINX פועל כעת.

התקנת NGINX דרך Homebrew מגדירה את יציאת ההאזנה המוגדרת כברירת מחדל ל-8080. ההגדרה המוגדרת כברירת מחדל הזו מבטיחה שתוכל להריץ את nginx בלי sudo.

curl HTTP://localhost:8080

כפי שניתן לראות למטה, הפקודת curl הורידה את דף הבית המוגדר כברירת מחדל של NGINX, מה שמצביע על פעילות השרת.

Testing NGINX with curl

התקנת NGINX למטרות בדיקה

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

אתה רוצה להפעיל את NGINX כאשר המחשב מתחיל? היכן תאחסן את הקבצים לאתר שאתה בודק? האם עליך לשמור על ההקצאה הברירתית של פתח ההאזנה?

אלו הם חלק מהפרטים שעליך להגדיר לאחר התקנת NGINX, אשר תלמד להגדיר בקטעים הבאים.

הקטעים שאחריהם מדגימים את צעדי קובץ התצורה של NGINX שהותקן באמצעות Homebrew, אלא אם ההוראות מציינות אחרת.

התאמת שלב האזנה של השרת

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

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

1. ראשית, הרץ את הפקודה למטה כדי לשלוח את אות העצירה (-s stop) ולוודא ש-NGINX אינו פועל. nginx -s stop

nginx -s stop

2. לאחר מכן, הרץ את הפקודה nginx למטה כדי לגלות את נתיב קובץ ההגדרה של NGINX.

nginx -t

התוצאה למטה מציינת כי קובץ ההגדרה נמצא ב- /usr/local/etc/nginx/nginx.conf.

Testing the NGINX configuration file

3. פתח את קובץ ההגדרה בעורך טקסט המועדף עליך, כמו למשל nano, כמו שמוצג בדוגמה למטה.

nano /usr/local/etc/nginx/nginx.conf

4. עכשיו, אתה צריך לאתר את השורה listen בתוך הבלוק server {}. כפי שתראה למטה, ערך הפתיחה להאזנה הוא 8080.

NGINX listening port number

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

Changing the listening port number

6. כעת, הפעל מחדש את פקודת nginx להתחלת NGINX שוב.

nginx

7. לבסוף, פתח חלון דפדפן חדש ונווט אל HTTP://localhost:9000. NGINX צריך כעת לשרת את האתר בפורט 9000, כפי שמוצג למטה.

NGINX running on port 9000

הפנייה אל תיק העבודה שלך בפיתוח אינטרנטי

לפי ברירת המחדל, התקנת NGINX ב-Mac משרתת את תיק העבודה האינטרנטי מתוך /usr/share/nginx/html (מתקין המקור) או /usr/local/Cellar/nginx/<version>/html (מתקין Homebrew).

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

1. ראשית, הפעל את הפקודות הבאות כדי לעצור את NGINX ולפתוח את קובץ התצורה בעורך הטקסט, כפי שעשית בסעיף "התאמת פתיחת האזנה של השרת" (שלבים אחד עד שלוש).

# עצור את NGINX
nginx -s stop
# הפעל בדיקה כדי למצוא את קובץ התצורה
nginx -t
# פתח את קובץ התצורה לעריכה
nano /usr/local/etc/nginx/nginx.conf

2. בעורך הטקסט, חפש את השורה שאומרת root html; בתוך הבלוק server {}.

The default web directory location

3. ערוך את הערך root ושנה אותו לתיקייה המותאמת אישית שלך. בדוגמה זו, תיקיית הרשת היא ב- /Volume/DevData/testweb. שמור את השינויים וצא מהעורך.

האתר הבדיקה בדוגמה זו הוא אתר סטטי בשםDimensions הורד מאת HTML5 Up. אתר הדגמה זה זמין להורדה ולשימוש חופשי, על פי רישיון Creative Commons Attribution 3.0.

Changing the default web directory location

4. כעת, התחל שוב את שרת ה-NGINX.

nginx

5. לבסוף, עיין בכתובת HTTP://localhost:9000 באמצעות דפדפן האינטרנט שלך. NGINX משרת כעת אתר הבדיקה שלך מתיקיית הרשת המותאמת אישית שלך כמו בתמונה למטה.

Testing if NGINX serves a custom web directory location

הפעלת התחלה אוטומטית של NGINX עבור התקנת מקור

NGINX לא מתחיל באופן אוטומטי לפי ברירת המחדל, ללא קשר לשיטת ההתקנה שבחרת. בפיתוח או בבדיקות, הפעלה אוטומטית של NGINX עשויה לא להיות נדרשת. אם צריך, ניתן להגדיר את NGINX להפעיל עם האתחול באמצעות תהליך launchd.

ניתן להפעיל את NGINX להפעלה אוטומטית או עבור התקנה מבוססת מקור או התקנה מבוססת homebrew. אך לצורך הדגמה זו, התחל עם ההתקנה מבוססת המקור.

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

1. הפעל את הפקודה touch למטה כדי ליצור קובץ רשימת תכונות (PLIST) חדש עבור NGINX.

המיקום /Library/LaunchDaemons מאחסן את הדימונים הגלובליים שרצים בשם השורש או משתמש מסוים. שם הקובץ יכול להיות כל דבר שתרצה, אך יהיה מועיל אם שם הקובץ יכיל את שם הדימון שאתה יוצר.

sudo touch /Library/LaunchDaemons/ata.nginx.plist

2. כעת, פתח את קובץ ה-PLIST לעריכה.

sudo nano /Library/LaunchDaemons/ata.nginx.plist

3. העתק את הקוד למטה והדבק אותו בעורך הטקסט. שמור את הקובץ וצא מהעורך.

לפשט, הקוד למטה מגדיר דימון עם השם ata.nginx. התוכנית להרצה היא /usr/local/nginx/sbin/nginx וערך ה-RunAtLoad אומר שהתוכנית תרוץ במהלך הפעלת המחשב.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>ata.nginx</string>
				<key>Program</key>
				<string>/usr/local/nginx/sbin/nginx</string>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

4. לבסוף, הרץ את הפקודה launchctl למטה כדי לטעון את הדימון. פקודה זו מתחילה את NGINX מיד. ומרגע זה ואילך, NGINX יתחיל אוטומטית אחרי כל הפעלה מחדש של המחשב.

sudo launchctl load -w /Library/LaunchDaemons/ata.nginx.plist

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

sudo launchctl unload -w /Library/LaunchDaemons/ata.nginx.plist

הפעלת אוטומט ה-DNGINX עבור התקנת Homebrew

שונה מהתקנה במקור המקורי, עבור התקנת NGINX באמצעות Homebrew, עליך להפעיל רק פקודה אחת על מנת לאפשר או להשבית את התנהגות האוטומט של NGINX. האם זה לא נוח?

הרץ את הפקודה הבאה כדי לאפשר את התנהגות האוטומט של NGINX. הפקודה start מפעילה את NGINX מיד ומרשמת אותו להתנהל בעת ההפעלה.

sudo brew services start nginx

לאחר הרצת הפקודה, תקבל פלט דומה לדוגמה בתמונה למטה.

Starting the NGNIX service

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

sudo brew services stop nginx

סיכום

ומה שם! הגדרת NGINX על Mac היא דרך בטוחה להפעיל שרת אינטרנט בזמן קצר לצורך בדיקה. יש לך אפשרויות התקנה בהתאם לדרישות ההגדרה שלך, והתאמה אישית של ההגדרות שלו היא מהירה דרך קבצי התצורה בפלטין – אין צורך בכלים מיוחדים.

NGINX אינו מגביל בדיקה והפעלה לאתר אחד בלבד. באפשרותך להריץ כמה דומיינים לפיתוח ואתרים בו זמנית בלי להפריע זה לזה. או שאם אתה מרגיש הרפתקן, תוכל להפעיל NGINX ב-Docker על Mac גם כן!

Source:
https://adamtheautomator.com/nginx-on-mac/