כל הזכויות שמורות לטל בן שושן – Shushan.co.il
Ngnix Linux
Nginx הוא שרת Web בדיוק כמו Apache (מאמר שגם קיים באתר) אך הוא פחות נפוץ מ Apache, אז מדוע הוא קיים? Nginx הוא קטן יותר! מה זה אומר? Apache מסוגל לבצע המון המון דברים \ הגדרות וכו'
וApache תוכנן גם להיות כזה, אז אם אנחנו משתמשים ב Apache לשרת WordPress אז אנחנו משתמשים ב10 מתוך 50 אפשרויות כאשר Nginx יש לו סה"כ 10 אפשרויות אבל 6 מתוכם אנחנו משתמשים והשימוש בהם מהיר מאוד כי הוא תוכנן להיות כזה
נתקין את ה Reposetory כך שנוכל להתקין את הגרסה החדשה ביותר של Nginx
[root@localhost ~]# yum install epel-release
נפתח את פורט 80 ב Firewall
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent [root@localhost ~]# firewall-cmd --reload
ונתקין את Nginx
[root@localhost ~]# yum install nginx
נפעיל את השירות
[root@localhost ~]# systemctl start nginx
נכנס לדפדפן ונראה את המסך הבא:
בהשוואה ל Apache הנתיב של Index.html נמצא בכלל בנתיב
[root@localhost ~]# cd /usr/share/nginx/html
הקובץ Index.html הוא הקובץ HTML ממנו מוצג הדף כאשר אתם נכנסים לכתובת הIP שלכם בדפדפן
נוכל למחוק את קובץ ה index.html הישן
[root@localhost ~]# rm -R idnex.html
נלחץ Etner ואז y ושוב Enter
כעת אין קובץ index.html
ניצור אחד משלנו
[root@localhost ~]# vi index.html
נרשום בתוך הקובץ מה שנרצה
[root@localhost ~]# Shushan.co.il IT Blog
נשמור ונסגור אותו, כעת נבצע רענון בדפדפן לעמוד עם כתובת השרת שלנו
ונראה את מה שכתבנו
כעת נעבור לקובץ ההגדרות של Nginx
[root@localhost ~]# cd /etc/nginx/
נערוך את הקובץ nginx.conf ונבדוק אותו
[root@localhost ~]# vi nginx.conf
גם כאן בקובץ nginx.conf קיימת שורה
[root@localhost ~]# include /etc/nginx/default.d/*.conf
שורה זו אומרת שכל קובץ בתיקייה הזו עם הסיומת .conf תטען למערכת ה Nginx
ובקובץ nginx.conf.default באותה התקייה
יש עוד הגדרות למשל
איזה קובץ הוא יקרא מתוך תיקיית ה html
index index.html index.htm;
Nginx Reverse Proxy
אז מהו Reverse Proxy, הוא למעשה שרת לדוגמה Nginx שיושב מקדימה לשרת Web, ואז כאשר מחשב, נאמר PC1 מעוניין להיכנס לאתר , אותו PC1 מגיע לשרת ה Reverse Proxy ומקבל ממנו את את האתר.
בדוגמה למטה PC1 מבקש את האתר Shushan.co.il, אז PC1 ניגש לשרת 1.1.1.1 שהוא למעשה ה Reverse Proxy Server ואז שרת ה Reverse Proxy מקבל בקשה את האתר Shushan.co.il והוא יודע שאינו מחזיק את האתר, לכן הוא יפנה לשרת ה Web, ויעביר את האתר דרכו בחזרה לPC1.
זאת אומרת שPC1 מתנהל מול שרת ה Reverse Proxy Server
וReverse Proxy Server מתנהל רק מול Server Web
Server Web < – > Reverse Proxy Server < – >PC1
כך למעשה הוא מסתיר את שרת ה Web מפני האינטרנט.
בנוסף הוא יכול להסתיר 2 או יותר שרתי Web
נבדוק כיצד זה עובד,
נבדוק על ידי הפקודה ifconfig מה הכתובת של השרת nginx שלנו
הIP הוא 192.168.1.120
נערוך כעת את קובץ ה Hosts בווינדוס \ לינוקס, על מנת שנקיש את tal.local נגיע לאתר shushan.co.il ובכך נשתמש ב Nginx כ Reverse Proxy
בWindows
C:\Windows\System32\drivers\etc\hosts
נוסיף שורה בסוף המסמך
192.168.1.120 tal.local
אם בשרת GUI של לינוקס אז נערוך את קובץ ה Hosts
[root@localhost ~]# vi /etc/hosts
כעת נעבור לשרת ה Nginx שלנו
נעבור לתוך nginx
[root@localhost ~]# cd /etc/nginx/
ניצור קובץ conf של ה Proxy
[root@localhost ~]# vi /etc/nginx/conf.d/reverseproxy.conf
כעת נכניס את המינימום על מנת להגדיר את ה Proxy
server { listen 80; server_name tal.local; location / { proxy_pass http://shushan.co.il; } }
השורה 2 – מאזין לפורט 80 הלוא הוא HTTP
השורה 3 – ברגע שיבקשו את tal.local הוא יפנה לShushan.co.il (שורה 5)
כעת נשמור את הקובץ
נפתח את ה Firewall גם ל https
[root@localhost ~]# firewall-cmd --permanent --add-service=https [root@localhost ~]# firewall-cmd --reload
כעת נבצע ריסטארט לשירות ה nginx
[root@localhost ~]# systemctl restart nginx
וכעת במחשב הרגיל (שבו ערכנו את קובץ ה hosts)
נבדוק אם זה עובד:
מעולה!
*לאלו שעדיין לא עובד, בטלו את SELinux
[root@localhost ~]# sed -i /etc/selinux/config -r -e 's/^SELINUX=.*/SELINUX=disabled/g'