Home CentOS Nginx Linux

Nginx Linux

by Tal Ben Shushan 04/09/2017 0 comment
Nginx Linux
נהנתם מהמאמר ? שתפו אותו!

כל הזכויות שמורות לטל בן שושן – 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'

מאמרים קשורים

Leave a Comment