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

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

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

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

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

    אפשרי גם עזרה בתשלום

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

      @davidnead שים לב, הבעיה שלך איננה ברורה (ניסית לתאר את הבעיה כפי תפיסתך, אולם כמו שכתבת אתה לא מתמצא בNginx), לכן אני מציע:

      1. תשתדל לתאר במילים פשוטות את הפעולות בהם נקטת (לדוגמא "כי הוא לא מזהה כל מיני דרייקטיביס" לא עונה על ההגדרה הזו).
      2. צטט את השגיאות, כך שנקרא אותם מכלי ראשון.
      תגובה 1 תגובה אחרונה
      7
      • 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

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

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

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