CentOS/RHEL 8 -ב Nginx רובע 6 הכל ןומטמ ןיקתהל דציכ


.תוחוקלל רוקמה תרשמ הבוגתה תא קפסמ הזו .דוביעל רוקמה תרשל ןתוא ריבעהלו תוחוקל לש HTTP תושקב לבקל ידכ ,Nginx ןוגכ (backend -ה וא רוקמה תרש אוהש) ךלש טנרטניאה תרש לומ סורפל לכותש הנכות וזש ר

.ןומטמהמ ושגוי קוידב המוד ןכותל תוידיתעה תושקבה לכ זאו .(ןורכיזב םיצבק ירבשו םיצבק ןוסחא) שקובמה ןכותה ןומטמב תחא םעפ backend -ה לא ןתוא ריבעמו תוחוקלמ תושקב לבקמ אוה .ןומטמב ןוסחא עונמכ ה

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

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

.םילודומו םיללכ ,תישיא םימאתומ תונורתפ תיינבל וב שמתשהל לוכי התא .תוסנכנ תושקבב לופיטה ןפוא יבגל תוינידמ בותכל ךל תרשפאמה Varnish (VCL) לש דואמ תבכרומה הרוצתה תפש תועצמאב תרדגומ הכל

.שדחמ יונימ םירשפאמ םהש אדוול RHEL 8 ישמתשמ לע .שדח RHEL 8 וא CentOS 8 תרשב Cache Varnish -ו Nginx טנרטניאה תרש תנקתהל םיבלשה תא רובענ הז רמאמב

.םיאבה םיכירדמב ןייע ,דבל Nginx טנרטניאה תרש תא ןיקתהל םוקמב האלמ LEMP תינסחמ ,רידגהל ידכ

    CentOS/RHEL 8 -ב Nginx טנרטניאה תרש תא ןקתה :1 בלש

    1. CentOS/RHEL 8 טנרטניאה תרש תנכות לש רתויב תינכדעה הסרגה םע עיגמ Nginx, ה תודוקפ תועצמאב לדחמה תרירב רגאממ התוא ןיקתנש ךכ- dnf תואבה.

    # dnf update
    # dnf install nginx
    

    .תואבה systemctl תודוקפ תועצמאב בצמה תא תמאלו ליעפהל ,ליעפהל ךילע ,Nginx תנקתה רחאל .2

    # systemctl start nginx
    # systemctl enable nginx
    # systemctl status nginx
    

    .ss האבה הדוקפה תועצמאב ,לדחמ תרירבכ 80 האיציב לעופש ,Nginx TCP עקש תא קודבל םג לוכי התא ,ןרקס תצק התא םא .3

    # ss -tpln
    

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

    # firewall-cmd --zone=public --permanent --add-service=http
    # firewall-cmd --reload
    

    CentOS/RHEL 8 -ב 6 הכל ןומטמ תנקתה :2 בלש

    5. CentOS/RHEL 8 לודומ לדחמ תרירב קפסמ DNF Vache Cache 6.0 הסרג ליכמה LTS (ךורא חווטל הכימת).

    .האבה הדוקפה תא לעפה ,לודומה תא ןיקתהל ידכ

    # dnf module install varnish
    

    .ךלש תכרעמב תנקתומה Varnish -ה תסרג תא רשאל ךתורשפאב ,לודומה תנקתה תמלשה רחאל .6

    # varnishd -V
    

    ./ etc/varnish/-ב םימקוממ הכל לש הרוצת יצבקו usr/sbin/varnishd/תחת תנקתומה תישארה הלעפהה תדוקפ ,Varnish ןומטמ תנקתה רחאל .7

    .הכל דוסה ץבוק אוה etc/varnish/secret/ו VCL תועצמאב בתכנש הכל לש ישארה הרוצתה ץבוק אוה etc/varnish/default.vcl/ ץבוקה

    .לעופ אוהש אדוו תכרעמה לוחתא ךלהמב תיטמוטוא הלעפהל ותוא לעפה ,Varnish תוריש תא לחתה ,ןכמ רחאל .8

    # systemctl start varnish
    # systemctl enable varnish
    # systemctl status varnish
    

    הכל ןומטמ םע הדובעל Nginx לש הרוצת תעיבק :3 בלש

    .וז האיציב הנזאהל רדגומ (ילאוטריו חראמ וא) תרש קולב לכ ללכ ךרדב ,80 האיציב הבישקמ Nginx לדחמ תרירבכ .Nginx לומ לעפת איהש ךכ הכל ןומטמה תרוצת תא רידגהל דציכ הארנ הז קלחב .9

    .(etc/nginx/nginx.conf/) ישארה הרוצתה ץבוקב רדגומה nginx -ה תרש לש לדחמה תרירב קולבב ןנובתה ,המגודל

    # vi /etc/nginx/nginx.conf
    

    .אבה ךסמה םוליצב גצומש יפכ תרשה תמיסח עטק תא שפח

    .(רחבתש תרחא האיצי לכ וא) 8080 -ל 80 -מ לדחמ תרירבכ תרדגומה Nginx תאיצי תא תונשל ךילע ,Nginx לומ Varnish ץירהל ידכ .10

    .Varnish תועצמאב שיגהל ךנוצרבש טנרטניא ימושיי וא םירתא רובע (/etc/nginx/conf.d/ תחת ללכ ךרדב םירצונ) דיתעב תרשה תמיסח לש הרוצתה יצבק לכב תושעיהל ךירצ הז

    .האבה הרוצתה תא ול שיו etc/nginx/conf.d/tecmint.lan.conf/ איה tecmint.lan ונלש הקידבה רתא רובע םיתרשה תמיסח ,המגודל

    server {
            listen       8080;
            server_name  www.tecmint.lan;
            root         /var/www/html/tecmint.lan/;
            location / {
            }
    
            error_page 404 /404.html;
                location = /40x.html {
            }
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
    }
    

    .לדחמה תרירב תרש קולבל תושקב הנפת דימת Nginx תרחא ,ךלש תרשב םירחא םימושיי/םירתא ץירהל ליחתהל ךל רשפאמ הז .אבה ךסמה םוליצב גצומש יפכ etc/nginx/nginx.conf/ ץבוקב הלש הרוצתה עטק תרעה ידי לע

    .םינורחא םייוניש ליחהל ידכ Nginx תוריש תא שדחמ לעפהו הרוצתה ץבוקב תואיגש םימייק םא קודב ,הרוצתה תמלשה רחאל .11

    # nginx -t
    # systemctl restart nginx
    

    .לעַמֵ -ו 6.0 הסרגב ,(שומישמ אצוה וישכעש) Vernish תביבס ץבוקב השענ הז יוניש םש ,Vache Vache לש תומדוק תואסריגב ומכ אלש .80 האיציב לעפיש ךכ Varnish תא רידגהל ונילע ,תוחוקלמ HTTP תושקב לבקל יד

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

    # systemctl edit --full  varnish
    

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

    .תרשב םיליעפה םינימזה IPv6 -ו IPv4 יקשממ לכב בישקי varnishd ,תבותכ ןייצמ ךניא םא בל םיש

    ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
    

    .אצו ץבוקב םייונישה תא רומש

    .Varnish לש ישארה הרוצתה ץבוקב השענ הז .ןכות ונממ איבהל ידכ רקבי Varnish וב backend -ה תרש תא רידגהל ךילע ,ןכמ רחאל .13

    # vi /etc/varnish/default.vcl 
    

    . .(ךלש תרשה קולבב תרדגהש Nginx הנזאה תאיצי תא וא) 8080 -ל האיציה תא רדגה זאו .(ךלש רוקמה תרש תא גצייש ךתריחב יפל םש לכ וא) 1 תרשל "לדחמה תרירב"\תזורחמה תא הנשו backend לש לדחמה תרירב תר

    backend server1 {
        .host = "127.0.0.1";
        .port = "8080";
    }
    

    .גצומש יפכ .host רטמרפה תא רדגה זאו ,10.42.0.247 תבותכ םע רחא תרש ,המגודל .רחא חראמ לע לעופ Nginx לש טנרטניאה תרש םא .תרש ותואב Nginx -ו Varnish תא םיצירמ ונא הז ךירדמ רובע

    backend server1 {
        .host = "10.42.0.247";
        .port = "8080";
    }
    

    .ותוא רוגסו ץבוקה תא רומש

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

    # systemctl daemon-reload
    # systemctl restart varnish
    

    .ורדגוהש TCP יעקשב םיניזאמ Varnish -ו Nginx יכ רשא וישכע .15

    # ss -tpln
    

    Nginx Varnish לש ןומטמה תרדגה תקידב :4 בלש

    .אבה ךסמה םוליצב גצומש יפכ FDQN וא IP -ה תרש תועצמאב טוונו טנרטניא ןפדפד חתפ .אבה ןפואב הכל ןומטמ תועצמאב םישגומ טנרטניאה יפד יכ אדו ,ןכמ רחאל .16

    http://www.tecmin.lan
    OR
    http://10.42.0.144
    

    .תימוקמ קדוב התא םא localhost וא 127.0.0.1 -ב שמתשה וא רתאה לש FQDN -ב וא ךלש תרשה לש IP -ה תבותכב שמתשה .גצומש יפכ לתלת הדוקפב שמתשה ,ןיפולחל .17

    # curl -I http:///www.tecmint.lan
    

    הכל ןומטמ לוהינל ישומיש ילכ

    .דועו תללוכ הקיטסיטטסלו ןורכיז ינמויל תשגל ,הכל לע טולשל ידכ שמתשהל ולכות ןהב ,תוחלשנ Varnish Cache ןתיאש תוישומישה תורישה תוינכותמ המכ הרצקב ראתנ ,הז ןורחא קלחב .18

    varnishadm רוביח רצוי הז .לעופ הכל עפומ לע הטילשל ילכ CLI אבה ךסמה םוליצב גצומש יפכ םירדגומ םיכמסמ םושרל ידכ וב שמתשהל לוכי התא ,המגודל .דשינרול (תא ארק man varnishadm ףסונ עדימל).

    # varnishadm
    varnish> backend.list
    

    .(varnishlog man לע ףסונ עדימ ארק) תויפיצפס תושקבו תוחוקל לע עדימ עיצמ אוה .תושקבל םייפיצפס םינותנל השיג קפסמ הכל תורישה ילכ

    # varnishlog
    

    . (Varnishstat לע ףסונ עדימ ארק) וקחמנש םיטקייבוא ,ורצונש תולוכשא ,ןוסחאה לע עדימ ,תוצמחהו ןומטמב תועיגפ ןוגכ ןורכיזב הקיטסיטטסל השיג ןתמ ידי לע Vernish לש םייחכונה םיעוציבה לע טבמ ךל ןתונ

    # varnishstat 
    

    .(ףסונ עדימל םדאה לש הכלה תא וארק) רתויב םיצופנה ןמויה יכרע לש ףיצר ןפואב תנכדועמ המישר גיצמו ףתושמה ןורכיזה ינמוי תא ארוק הכל רזע ילכ

    # varnishtop 
    

    .(טסינווה לע ףסונ עדימ ארק) םדוביע ידי לע n תונורחאה תושקבה תוגלפתה תא גיצמה ףיצר ןפואב תנכדועמ המרגוטסיה קיפמו הכלה ינמוי תא חתנמ (הכל תיירוטסיה) הכל ילכ

    # varnishhist
    

    .CentOS/RHEL 8 -ב טנרטניאה ןכות תגצה תא ץיאהל ידכ Nginx HTTP -ה תרש לומ ותוא ליעפהלו Varnish ןומטמ תא ןיקתהל דציכ וניארה הז ךירדמב !לכה הז

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

    .CentOS/RHEL 8 -ב Hitch תועצמאב הכל ןומטמ רובע HTTPS ליעפהל דציכ הארנ ונלש אבה רמאמב .ךלש רתאה לע ןגהל ידכ הכל ןומטמ םע ףותישב דובעי אוהש ךכ SSL/TLS לש םויס יסקורפ רידגהל ךילע ,ךלש םוש