דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שדרוג nginx שהסתבך

שדרוג nginx שהסתבך

מתוזמן נעוץ נעול הועבר תכנות
24 פוסטים 8 כותבים 553 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • D מנותק
    D מנותק
    davidnead
    כתב ב נערך לאחרונה על ידי
    #4

    צודק לגמרי. אז ככה:

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

    אחר כך אני מאתחל את השרת:

    sudo systemctl restart nginx
    

    ומקבל שגיאה.אז אני בודק:

    systemctl status nginx.service
    

    ומקבל

    Nov 07 12:41:14 ip-172-31-81-0 nginx[2957]: nginx: [warn] low address bits of 172.31.81.0/20 are meaningless in /etc/nginx/conf.d/MYSITE.conf:27
    Nov 07 12:41:14 ip-172-31-81-0 nginx[2957]: nginx: [emerg] unknown directive "set_escape_uri" in /etc/nginx/conf.d/MYSITE.conf:48
    

    השורה העליונה היא רק אזהרה, אז איני מתייחס, ובהמשך אכן רואה שאינה מעכבת.
    אני מנסה להזיח את השורה הבעייתית. היא מופיע בתוך קטע שנראה כך:

        if ($request_method = PURGE) {
            set $stored_method "GET";
            set $stored_scheme "https";
            set $key "nginx-cache:$stored_scheme$stored_method$host$request_uri";
            set_escape_uri $escaped_key $key;
            rewrite ^/w/(.*)$ /redis-purge?key=$escaped_key last;
            #return 301 /redis-purge?key=$escaped_key;
        }
    

    חוזר על האיתחול וכו'. שגיאה זהה רק על שורה אחרת (55) הפעם בתוך בלוק של מודל reis:

        location /redis-purge {
            auth_basic off;
            internal  ;
            set_unescape_uri $key $arg_key ;
            redis2_query del $key;
            redis2_pass  redis;
            more_set_headers 'X-Purge PURGED';
        }
    

    שוב מזיח וכו'. הפעם השגיאה:

    nginx: [emerg] unknown directive "redis2_query" in /etc/nginx/conf.d/MYSITE.conf:56
    

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

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

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

    בבדיקה שהוצעה שם זו התוצאה אכן:

    nginx -V
    nginx version: nginx/1.20.1
    built with OpenSSL 1.1.1  11 Sep 2018 (running with OpenSSL 1.1.1a  20 Nov 2018)
    TLS SNI support enabled
    configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-kLXxPU/nginx-1.20.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-compat --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_sub_module
    
    

    תודה לכם

    מנצפךמ תגובה 1 תגובה אחרונה
    1
    • מנצפךמ מנותק
      מנצפךמ מנותק
      מנצפך
      השיב לdavidnead ב נערך לאחרונה על ידי
      #5

      @davidnead
      מה

      nginx -t
      

      נותן?

      יש לך אפשרות לשתף את כל קבצי ה NGINX?

      D תגובה 1 תגובה אחרונה
      1
      • D מנותק
        D מנותק
        davidnead
        השיב למנצפך ב נערך לאחרונה על ידי
        #6

        @מנצפך אמר בשדרוג nginx שהסתבך:

        @davidnead
        מה

        nginx -t
        

        נותן?

        נתתי אותו יחד עם התוצאה שלו. כנראה מדפיס גרסה+מודולים

        יש לך אפשרות לשתף את כל קבצי ה NGINX?

        בעייתי קצת בציבורי.

        yossizY תגובה 1 תגובה אחרונה
        0
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לdavidnead ב נערך לאחרונה על ידי yossiz
          #7

          @davidnead נראה לי שהסקת בצדק שחסרים לך מודולים.
          מגיגול קצר נראה לי שה-directives שחסרים לך קשורים ל-openresty.
          אם כן הצעתי שתנסה להתקין openresty.

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          D תגובה 1 תגובה אחרונה
          1
          • D מנותק
            D מנותק
            davidnead
            השיב לyossiz ב נערך לאחרונה על ידי
            #8

            @yossiz אמר בשדרוג nginx שהסתבך:

            @davidnead נראה לי שהסקת בצדק שחסרים לך מודולים.
            מגיגול קצר נראה לי שה-directives שחסרים לך קשורים ל-openresty.
            אם כן הצעתי שתנסה להתקין openresty.

            גם אני הגעתי למסקנה הזו. אבל החלטתי שאני לא רוצה לגעת במה שאני לא מבין.

            1. לא באמת הצלחתי להבין איך להתקין את הנ"ל, וק"ו את המודולים שלו
            2. בעקרון הכל אמור להיות מותקן לי, רק משהו בהגדרות וכדו' נאבד, לא רוצה לקלקל. לכאורה מישהו שמכיר NGINX אמור להבין בקלות מה הולך שם. אנסה לצפות לישועה.
            תגובה 1 תגובה אחרונה
            0
            • A מנותק
              A מנותק
              aaron
              כתב ב נערך לאחרונה על ידי
              #9

              https://easyengine.io/wordpress-nginx/tutorials/single-site/redis_cache-with-conditional-purging/

              aaron.tchumim@gmail.com
              Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

              ווצאפ API - תיעוד שירות API לא רשמי.

              D תגובה 1 תגובה אחרונה
              1
              • D מנותק
                D מנותק
                davidnead
                השיב לaaron ב נערך לאחרונה על ידי
                #10

                @aaron תודה רבה!
                חבל שזה לא הגיע קודם, זה היה מקצר לי את הדרך. בינתיים שברתי את הראש והתקנתי הכל מחדש.
                אני חושב שהמקום האחרון בו אני תקוע, זה שהnginx משום מה מפעיל את גרסת הPHP הישנה במקום את החדשה.

                המדריך הזה לא עזר לי לסדר את זה.

                ההגדרה הנוכחית שלי:

                            fastcgi_pass  [::1]:9000;
                

                אם אני משנה ל:

                fastcgi_pass unix:/run/php/php-fpm.sock;
                

                אני מקבל מהשרת שגיאה 502.

                A תגובה 1 תגובה אחרונה
                0
                • A מנותק
                  A מנותק
                  aaron
                  השיב לdavidnead ב נערך לאחרונה על ידי
                  #11

                  @davidnead תוודא שהסרוויס של php פעיל ושאתה מעביר את הנתיב הנכון

                  aaron.tchumim@gmail.com
                  Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                  ווצאפ API - תיעוד שירות API לא רשמי.

                  תגובה 1 תגובה אחרונה
                  1
                  • א מנותק
                    א מנותק
                    ארכיטקט
                    כתב ב נערך לאחרונה על ידי ארכיטקט
                    #12

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

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

                    D תגובה 1 תגובה אחרונה
                    8
                    • D מנותק
                      D מנותק
                      davidnead
                      השיב לארכיטקט ב נערך לאחרונה על ידי
                      #13

                      @ארכיטקט אמר בשדרוג nginx שהסתבך:

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

                      תודה!

                      א. כך נוהגין. אלא שפה זה פרודקשן מורכב עם הרבה התקנות ושירותים חיצוניים, כולל DB בRDS של אמזון עם רפליקה וכמות אדירה של ג'יגות. אמנם, עדין האמת היא שהייתי קצת פזיז קודם.

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

                      י A nigunN 3 תגובות תגובה אחרונה
                      1
                      • י מנותק
                        י מנותק
                        יוס
                        השיב לdavidnead ב נערך לאחרונה על ידי
                        #14
                        פוסט זה נמחק!
                        תגובה 1 תגובה אחרונה
                        0
                        • A מנותק
                          A מנותק
                          aaron
                          השיב לdavidnead ב נערך לאחרונה על ידי
                          #15

                          @davidnead אמר בשדרוג nginx שהסתבך:

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

                          תריץ על שרת מרוחק.
                          עם docker context אפשר להגדיר חיבור על גבי ssh
                          https://docs.docker.com/engine/context/working-with-contexts/

                          aaron.tchumim@gmail.com
                          Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                          ווצאפ API - תיעוד שירות API לא רשמי.

                          תגובה 1 תגובה אחרונה
                          0
                          • nigunN מנותק
                            nigunN מנותק
                            nigun
                            השיב לdavidnead ב נערך לאחרונה על ידי
                            #16

                            @davidnead אמר בשדרוג nginx שהסתבך:

                            א. כך נוהגין. אלא שפה זה פרודקשן מורכב עם הרבה התקנות ושירותים חיצוניים, כולל DB בRDS של אמזון עם רפליקה וכמות אדירה של ג'יגות. אמנם, עדין האמת היא שהייתי קצת פזיז קודם.

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

                            מייל: nigun@duck.com

                            א תגובה 1 תגובה אחרונה
                            2
                            • א מנותק
                              א מנותק
                              ארכיטקט
                              השיב לnigun ב נערך לאחרונה על ידי
                              #17

                              @nigun אמר בשדרוג nginx שהסתבך:

                              ובאמת צריך לנהוג כך גם במערכות מורכבות

                              זה מה שעושה את ההבדל, ולפעמים מורכבות אסור מלכתחילה להיכנס אליה, תראה מה קרה כשהכריזו בפומפוזיות על מיקרו שירותים אחר כך הבינו שצריך מנצח שיגרום לכל המיקרו שירותים לנגן ביחד והמציאו את dapr שהוא למעשה שירות אחד שאמור להעביר מידע בין המיקרו שירותים וכו' וכו', בקיצור העולם הולך ומסתבך ולא מוצא את האיזונים הנכונים בין חנטריש לחנטריש שכנגד.
                              אגב מצאתי כתוב בשם רבי יוסי בן חלפתא (מלפני 1900 שנה) שאמר "טוב עשרה טפחים ועומד ממאה אמה ונופל" (אבות דרבי נתן א ז).
                              הוא חזה מראש את עולם המחשבים כולו איך יקרוס על פניו, מי יוכל לתחזק את מה שבנו כאן???? אבל זה כבר עניין פילוסופי.

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

                              nigunN תגובה 1 תגובה אחרונה
                              5
                              • nigunN מנותק
                                nigunN מנותק
                                nigun
                                השיב לארכיטקט ב נערך לאחרונה על ידי
                                #18

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

                                מייל: nigun@duck.com

                                א תגובה 1 תגובה אחרונה
                                0
                                • א מנותק
                                  א מנותק
                                  ארכיטקט
                                  השיב לnigun ב נערך לאחרונה על ידי
                                  #19

                                  @nigun כל האם ואם ואם ואם מייצרים ספק ספק ספק ספיקא שאתה לא יכול להבטיח שהוא לא יקרוס כי מספיקה תקלה באחת ההנחות שלך, ומספיק שהתקלה תהיה זמנית ולא יישאר זמן תגובה.
                                  מלבד זאת יש גבול כמה אנשים מוכשרים מספיק יש, ושיכולים להקיף את כל המידע, ושהם ניתנים לשיכפול, ואיך בדיוק משכפלים אותם??? הם צריכים להיות נזירים טיבטים שיקדישו את החיים שלהם "למען הכלל" להחזיק את כל העסק הזה. בקיצור זה יקרוס.

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

                                  nigunN תגובה 1 תגובה אחרונה
                                  3
                                  • nigunN מנותק
                                    nigunN מנותק
                                    nigun
                                    השיב לארכיטקט ב נערך לאחרונה על ידי
                                    #20

                                    @ארכיטקט
                                    נו נו, ימים יגידו
                                    לא יודע למה אתה אוהב להיות פסימי
                                    לדעתי נגיע מתישהו לסטנדרטים יציבים בתעשיה ורוב הארגונים יוכלו להחזיק מקהלה יפה של שירותים (או פונקציות בגישה של סרוורלס) בלי צורך באיש DevOps צמוד, ובלי לנהל קבצי YAML אינסופיים ששורה אחת מורידה את כל הפרודקשן, ופשוט יסמכו על שירותי צד שלישי כמו הורוקו וכדו'

                                    מייל: nigun@duck.com

                                    א תגובה 1 תגובה אחרונה
                                    3
                                    • א מנותק
                                      א מנותק
                                      ארכיטקט
                                      השיב לnigun ב נערך לאחרונה על ידי
                                      #21

                                      @nigun
                                      זה יכול לבוא אבל עם תג מחיר לא פשוט של ויתורים על הרבה דברים
                                      ופינוקים שהרגילו אליהם את כולם.
                                      כדוגמא: עד ל F35 כל מטוסי הקרב הכי מתקדמים היה להם פחות שכל ממגהץ קיטור, הטייס היה המוח, וכל האיבזור של המטוס הוא אך ורק כלים לשירותו, הם מדוייקים, יעילים, עוצמתיים, אבל פשוטים ולא חכמים במיוחד. לכן הטייס הוא הנכס העיקרי של מדינה, ולא המטוסים שאותם ניתן להחליף ולקנות חדשים.
                                      ה F35 הגיע אל הטייסים כמו אייפון וטסלה, חכם ומפנק, אבל אני ממליץ לך לקרוא קצת על הצלחותיו וכשלונותיו.
                                      אין ארוחות חינם, ואין פרפטואום מובילה, (למרות ששני החלומות הללו מניעים את ההתפתחות האנושית עד היום הזה החלום מתנפץ אבל התוצר של ההתקדמות נשאר) זה לא קשור לפסימיות, זו מסורת של 1900 שנה של סבא רבה שלי.

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

                                      nigunN תגובה 1 תגובה אחרונה
                                      0
                                      • nigunN מנותק
                                        nigunN מנותק
                                        nigun
                                        השיב לארכיטקט ב נערך לאחרונה על ידי nigun
                                        #22

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

                                        מייל: nigun@duck.com

                                        א תגובה 1 תגובה אחרונה
                                        0
                                        • א מנותק
                                          א מנותק
                                          ארכיטקט
                                          השיב לnigun ב נערך לאחרונה על ידי
                                          #23

                                          @nigun
                                          בצבא יש בעיה שיש מרוץ חימוש ואתה חייב להדביק את הקצב אחרת יעשו את זה לפניך ויגמרו אותך. אבל גם שם יש איזה שהוא מרחב של החלטה לאיזה כיוונים אתה משקיע, כוח אדם איכותי או מכונה משוכללת שתפצה על זה. להזכירך ההתקדמות בתחום מטוסי הקרב היתה אדירה אלא שעיקר העומס נפל על כתפי הטייס ועדיין בצבא יש לך מילכוד 22 ואני מבין את האילוצים.
                                          באזרחי זו פחות בעיה להתקדם לאט לאט ולתת זמן עיכול לכל דבר. אממה הקפיטליזם הפך את האזרחי לשדה קרב שבו אם מישהו אחר יעשה אתה פושט רגל וכו', ובקיצור אנחנו גולשים לפילוסופיות ענק, הפורום הוא לא המקום לזה.
                                          וכמו תמיד מי אני שתאווכח.

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

                                          nigunN תגובה 1 תגובה אחרונה
                                          1

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום