לא מצליח להריץ שרת לוקאלי
-
לאחרונה קורה לפעמים שאני לא מצליח להריץ שרת לוקלי (זה נחוץ בשבילי לצורך פיתוח).
אני מקבל שגיאה של Access denied.
כמובן בדקתי שאין תהליך אחר שמאזין לאותו פורט. כמובן נסיתי להריץ כמנהל.נראה לי שהבעיה קשורה לזה ש-hyper-v מופעל אצלי. או בגלל WSL2. או docker. בקיצור משהו שקשור ל-virtual networking.
הפתרון היחיד שמצאתי בינתיים זה ללכת ל-ncpa.cpl ולהשבית את כל מתאמי הרשת הוירטואליים, כמו של wsl/vmware/hyper-v/virtualbox/docker, וכולי האי ואולי... (אולי לא חייבים להשבית את כולם אבל עוד לא מצאתי בדיוק איזה מהם אשם.)
ומענין לענין באותו ענין, ב-WSL2 אמור להיות אפשרי להריץ שרת ב-WSL ושיהיה זמין על localhost. הבעיה היא שזה מאוד לא יציב, לפעמים עובד ולפעמים לא, בלי שום סדר.
מישהו אחר נתקל בזה? מכירים עוד פתרון?
-
איזה פורטים? אם איזה פקודה/מידע וידאת שהפורט פנוי?
מסתבר שראית את זה
https://stackoverflow.com/q/48478869
https://stackoverflow.com/a/59269445 -
@dovid אמר בלא מצליח להריץ שרת לוקאלי:
איזה פורטים?
8084, 9229, 8080, ועוד.
אעם איזה פקודה/מידע וידאת שהפורט פנוי?עם תוכנת process hacker. (אגב, תוכנה מאוד מאוד מומלצת...)
מסתבר שראית את זה
לא ראיתי, למרות שחיפשתי קצת לפני ששאלתי כאן. תודה, אבדוק.
-
@dovid אמר בלא מצליח להריץ שרת לוקאלי:
אני כמה ימים לאחרונה מתקשקש עם לובנטו (אובנטו למחשבים ישנים)
היי, זה לא הוגן לשפוט את לינוקס כשהראיה שלך היא ממחשב ישן שאתה מריץ עליו הפצה למחשבים חלשים...
(כך לפחות נשמע מדבריך)@dovid אמר בלא מצליח להריץ שרת לוקאלי:
וזה מתאים רק לאנשים שהאכזבה מחלונות גורמת להם לסלוח על כל פשעים .
קרוב לוודאי שאם תתנסה מספיק זמן, כבר לא תהיה מוכן לסלוח על הפשעים של חלונות..
-
@aaron עזוב, כבר עברנו את הגיל של ויכוחים אלו...
מי שרוצה להמשיך את הוויכוח, מוזמן לפתוח נושא חדש.אגב, אני מכיר את לינוקס די טוב, מהקרנל עד לסביבות הגרפיות השונות, לרבות כל מה שבאמצע, עם הוריאציות השונות וכו'.
ואני אישית סבור כמו @dovid שאם באגים מזדמנים מעצבנים אותך ואתה רוצה שולחן עבודה יציב סולידי שמתנהג בצורה פחות או יותר צפויה, לך על ווינדוס.
הספק שלי היה מכיון שלא שיחקתי הרבה עם לינוקס בשנים האחרונות, אולי משהו השתנה שם לטובה. אבל הסיכויים חלשים... -
@yossiz אמר בלא מצליח להריץ שרת לוקאלי:
@aaron עזוב, כבר עברנו את הגיל של ויכוחים אלו...
אני כמובן מסכים איתך, לכן נשארתי רק עם תגובה צינית/ליצנית.
מחקתי איזה שורה נוספת שכבר כתבתי רק בגלל שהיא התייחסה לעצם הדיון ואת הדיון הזה אני לא חושב שיש לפתוח מחדש.. -
@yossiz קודם כל אני רואה שלא כתוב במילים 'Access denied' אלא permission, מה ההבדל הזה אומר? מוקדם עוד לנחש, אבל תשמור את זה בראשך להמשך המחקר.
דבר שני התמונה חתוכה ולא רואים את כל הסטאק
דבר שלישי, עיין בקוד מקור של הפוקנציה Server.setupListenHendle ותראה מה היא עושה שם ואיפה בדיוק קורת השגיאה [צויין 1301:21], אתה יכול לקמפל ולהריץ אותה על אותה כתובת ולבדוק.
דבר רביעי, תקליט את הפעילות במחשב על ידי Procmon בעת שאתה מריץ וקורת השגיאה, ותביא את הדוח ונראה.
-
@רחמים אני מעריך את רצונך לעזור, אבל @dovid כבר מצא לי את הפתרון...
@רחמים אמר בלא מצליח להריץ שרת לוקאלי:
קודם כל אני רואה שלא כתוב במילים 'Access denied' אלא permission
מן הסתם אין הבדל... בכלל node מתרגם שגיאות Windows לשגיאות unix, כך שהנוסח המדוייקת של השגיאה ממילא נאבדה.
דבר שני התמונה חתוכה ולא רואים את כל הסטאק
לכאורה אין ענין כאן לראות את הסטאק, זה שרת HTTP רגילה של נוד, והפונקציה Server.setupListenHandle הוא משהו פנימי של נוד, ולא, אני לא הולך להוריד את כל קוד המקור של נוד כדי לדבג בעיה של ווינדוס שלא קשורה לנוד. (היה לי תוכנה אחרת - קוד סגור - שכתובה ב-go שגם נתקלה בשגיאה זו, אמנם היא פלטה נוסח אחר, אבל לדעתי זה אותה שגיאה)
דבר רביעי, תקליט את הפעילות במחשב על ידי Procmon בעת שאתה מריץ וקורת השגיאה, ותביא את הדוח ונראה.
עברתי את זה, ולא רואים כלום
-
The next biggest change is that Docker runs everywhere today. Docker for Desktop is well integrated for use on Apple and Microsoft operating systems. It hides the underlying virtual machine from users. For the most part, this is a success; on macOS, the experience is nearly seamless. On Windows, things seem to go well at least for a few moments. Windows users will deal with an intimidating number of configuration variations from corporate firewalls, aggressive antivirus configuration, shell preferences, and several layers of indirection. That variation makes delivering written content for Windows impossible. Any attempt to do so would age out before the material went to production. For that reason, we’ve again limited the included syntax and system-specific material to Linux and macOS. A reader just might find that all the examples actually run in their environment, but we can’t promise that they will or reasonably help guide troubleshooting efforts.
מתוך הקדמת הספר Docker in Action מהדורה שניה...