מדריך ליישום Tomcat Manager

1. הקדמה

במדריך זה, אנו נסתכל לעומק על יישום ה- Tomcat Manager.

בקצרה, אפליקציית Tomcat Manager היא יישום אינטרנט שנארז בשרת Tomcat ומספק לנו את הפונקציונליות הבסיסית הדרושה לנו כדי לנהל את יישומי האינטרנט הפרוסים שלנו.

כפי שנראה, היישום כולל תכונות ושירותים רבים. בנוסף לאפשר לנו לנהל יישומים פרוסים, אנו יכולים גם לראות את הסטטוס והתצורה של השרת ויישומיו.

2. התקנת Tomcat

לפני שנעמיק באפליקציית Tomcat Manager, ראשית עלינו להתקין שרת Tomcat.

למרבה המזל, התקנת Tomcat היא תהליך קל. עיין במדריך מבוא ל- Apache Tomcat לקבלת עזרה בהתקנת Tomcat. במדריך זה נשתמש בגרסה האחרונה של Tomcat 9.

3. גישה לאפליקציית Tomcat Manager

עכשיו, בואו נסתכל על השימוש באפליקציית Tomcat Manager. יש לנו כאן שתי אפשרויות - אנו יכולים לבחור להשתמש ביישום מבוסס ה- HTML (HTML) או בשירות האינטרנט מבוסס הטקסט.

השירות מבוסס הטקסט אידיאלי לתסריט, ואילו יישום ה- HTML מיועד לבני אדם.

ה יישום מבוסס אינטרנט זמין בכתובת:

  • http [s]: //: / manager / html /

בעוד המקביל שירות טקסט זמין בכתובת:

  • http [s]: //: / מנהל / טקסט /

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

בואו נמשיך להוסיף משתמשים כאלה על ידי עריכת ה- משתמשי conf / tomcat קוֹבֶץ:

כפי שאנו רואים, הוספנו שני משתמשים חדשים:

  • טומטגוי - יש את מנהל-גוי תפקיד ויכול להשתמש ביישום מבוסס האינטרנט
  • tomcattext - יש את מנהל-תסריט תפקיד ויכול להשתמש בשירות האינטרנט מבוסס הטקסט

בחלק הבא נראה כיצד נוכל להשתמש בשני המשתמשים הללו כדי להדגים את היכולות של אפליקציית Tomcat Manager.

4. רישום יישומים שפועלים כרגע

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

4.1. שימוש באינטרנט

בואו נפתח // localhost: 8080 / manager / html / לצפייה בדף האינטרנט של אפליקציית Tomcat Manager. עלינו לאמת כ- טומטגוי המשתמש לעשות זאת.

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

4.2. שימוש בשירות הטקסטים

לחלופין, אנו יכולים לרשום את כל היישומים הפרוסים באמצעות שירות האינטרנט טקסט. הפעם אנו עושים א סִלְסוּל בקשה באמצעות tomcattext משתמש לאימות:

curl -u tomcattext: baeldung // localhost: 8080 / manager / text / list

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

אישור - יישומים רשומים עבור מארח וירטואלי [localhost] /: פועל: 0: שורש / דוגמאות: פועל: 0: דוגמאות / מנהל מארח: פועל: 0: מנהל מארח / מנהל: פועל: 1: מנהל / מסמכים: פועל: 0: מסמכים

5. ניהול יישומים

אחת מחלקי הפונקציונליות העיקריים שאפליקציית Tomcat Manager מאפשרת לנו היא לעצור, להפעיל ולהטעין מחדש יישומים.

5.1. שימוש באינטרנט

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

5.2. שימוש בשירות הטקסטים

כמו כן, אנו יכולים לעצור ולהפעיל יישומים באמצעות שירות הטקסט. בוא נעצור ואז נתחיל את דוגמאות יישום באמצעות סִלְסוּל בַּקָשָׁה:

curl -u tomcattext: baeldung // localhost: 8080 / manager / text / stop? path = / דוגמאות אישור - היישום הופסק בנתיב ההקשר [/ דוגמאות]
curl -u tomcattext: baeldung // localhost: 8080 / manager / text / start? path = / דוגמאות אישור - היישום התחיל בנתיב ההקשר [/ דוגמאות]

ה נָתִיב פרמטר שאילתה מציין איזו יישום לנהל וחייב להתאים לנתיב ההקשר של היישום.

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

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

curl -u tomcattext: baeldung // localhost: 8080 / manager / text / reload? path = / docs OK - טען יישום מחדש בנתיב ההקשר [/ docs]

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

6. פגישות פג

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

6.1. דרך ממשק האינטרנט

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

בדוגמה שלהלן, אנו יכולים לראות שיש שתי הפעלות משתמש עבור ה- מנהל יישום. זה מראה את משך ההפעלה, כמה זמן זה לא היה פעיל וכמה זמן עד שהוא יפוג (30 דקות כברירת מחדל).

אנו יכולים גם להשמיד ידנית פעילויות באתר על ידי בחירה ובחירה בטל את הפעילויות שנבחרו:

בדף הבית יש כפתור ל תפוג פגישות. זה גם הורס הפעלות שהיו בטלות למשך פרק הדקות שצוין.

6.2. באמצעות שירות האינטרנט טקסט

שוב, מקבלי שירות הטקסטים הם פשוטים.

לצפייה בפרטים על הפעלות משתמש נוכחיות, אנו קוראים מוֹשָׁב נקודת קצה עם נתיב ההקשר של היישום שאנו מעוניינים בו. בדוגמה זו אנו יכולים לראות שיש כרגע שני פעילויות באתר מנהל יישום:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / sessions? path = / manager" אישור - מידע מושב ליישום בנתיב ההקשר [/ manager] מרווח ברירת המחדל המרבי של פעילויות באתר אינו [30] דקות לא פעיל עבור [ 2 - <3] דקות: [1] פעילויות לא פעילות במשך [13 - <14] דקות: [1] פעילויות

אם אנו רוצים להשמיד הפעלות משתמש לא פעיל, אנו משתמשים ב- לָפוּג נקודת סיום. בדוגמה זו, אנו פג תוקף של פעילויות שהיו לא פעילות יותר מ -10 דקות עבור ה- מנהל יישום:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / expire? path = / manager & idle = 10" OK - מידע מושב ליישום בנתיב ההקשר [/ manager] מרווח ברירת המחדל של הפעילות המקסימלית אינו פעיל [30] דקות למשך [5 - <6] דקות: [1] פעילויות לא פעילות במשך [15 - 10] דקות: [1] פעילויות פג

7. פריסת יישומים

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

כדי להתחיל, הורד את המלחמה של Tomcat WAR כדי שיהיה לנו יישום חדש לפרוס.

7.1. שימוש באינטרנט

כעת יש לנו כמה אפשרויות לפרוס את המלחמה החדשה שלנו באמצעות דף האינטרנט. השיטה הקלה ביותר היא לעשות העלה את קובץ ה- WAR לדוגמא ופרס אותו:

המלחמה נפרסת עם נתיב הקשר התואם את שם המלחמה. אם יצליח, יישום הדוגמה נפרס, מופעל ומוצג ברשימת היישומים. אם אנו עוקבים אחר /לִטעוֹם קישור בנתיב ההקשר, אנו יכולים להציג את יישום הדוגמה הפועל שלנו:

כדי שנוכל לפרוס את אותה יישום שוב, בואו נלחץ על ה- בטל פריסה לַחְצָן. כפי שהשם מרמז, רצון זה לבטל את פריסת היישום. שים לב שהדבר מוחק גם את כל הקבצים והספריות עבור היישום הפרוס.

הבא, אנחנו יכולים פרוס את קובץ ה- WAR לדוגמה על ידי ציון נתיב הקובץ. אנו מציינים את נתיב הקובץ URI לקובץ ה- WAR או לספרייה שלא נפרקה בתוספת נתיב ההקשר. במקרה שלנו, המלחמה המדויקת נמצאת ב / tmp הספרייה, ואנחנו קובעים את נתיב ההקשר אל /לִטעוֹם:

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

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

7.2. שימוש בשירות הטקסטים

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

ראשית, בואו לבטל את פריסת היישום לדוגמא שלנו:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / undeploy? path = / sample" אישור - יישום לא מתפרש בנתיב ההקשר [/ sample]

ל לפרוס אותו שוב, אנו מציינים את נתיב ההקשר ואת ה- URI של קובץ ה- WAR לדוגמה:

curl -u tomcattext: baeldung "//localhost:8080/manager/text/deploy?path=/sample&war=file:/tmp/sample.war" OK - פריסה של יישום בנתיב ההקשר [/ sample]

יתר על כן, אנו יכולים גם לפרוס יישום באמצעות מתאר פריסת ה- XML:

curl -u tomcattext: baeldung "//localhost:8080/manager/text/deploy?config=file:/tmp/sample.xml" OK - פריסה של יישום בנתיב ההקשר [/ sample]

8. הצגת תצורת SSL

אנחנו צריכים אפשר SSL ב- Tomcat לפני שנוכל לראות תצורת SSL כלשהי. ראשית, בואו ליצור תעודת Keystore חדשה עם אישור בחתימה עצמית ב- Tomcat שלנו conf מַדרִיך:

keytool -genkey -alias tomcat -keyalg RSA -keystore conf / localhost-rsa.jks 

לאחר מכן, אנו משנים את conf / tomcat-server.xml קובץ להפעלת מחבר SSL ב- Tomcat:

ברגע שאנחנו מפעילים מחדש את Tomcat, אנו מגלים שהוא פועל בצורה מאובטחת ביציאה 8443!

8.1. שימוש באינטרנט

בואו נפתח // localhost: 8443 / manager / html כדי לראות את אפליקציית Tomcat Manager שוב. זה צריך להיראות בדיוק אותו דבר.

כעת אנו יכולים להציג את תצורת ה- SSL שלנו באמצעות הכפתורים מתחת אבחון:

  • ה צופנים כפתור מציג את כל צופני ה- SSL המובנים על ידי Tomcat
  • לאחר מכן, תעודות כפתור מראה פרטים על האישור החתום על עצמי
  • סוף - סוף, ה אישורים מהימנים הלחצן מציג פרטי אישור CA מהימנים; בדוגמה שלנו, זה לא מציג שום דבר מעניין מכיוון שלא הוספנו אישורי CA מהימנים

כמו כן, ניתן לטעון מחדש באופן דינמי את קבצי תצורת ה- SSL בכל עת. אנו יכולים לטעון מחדש לכל מארח וירטואלי על ידי הזנת שם המארח. אחרת, כל התצורה נקראת מחדש:

8.2. שימוש בשירות הטקסטים

כמו כן, אנו יכולים לקבל את אותו המידע באמצעות שירות הטקסט. אנו יכולים לצפות בכולם:

  • צופי SSL באמצעות sslConnectorCiphers מַשׁאָב:
תלתל -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorCiphers"
  • אישורים באמצעות sslConnectorCerts מַשׁאָב:
תלתל -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorCerts"
  • אישורים מהימנים באמצעות sslConnectorTrustedCerts מַשׁאָב:
תלתל -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorTrustedCerts"

ה- SSL ניתן לטעון מחדש את התצורה באמצעות:

curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslReload" OK - טען מחדש את תצורת TLS עבור כל המארחים הווירטואליים של TLS 

שים לב ל -k אפשרות ב סִלְסוּל כאשר אנו משתמשים באישור בחתימה עצמית.

9. הצגת סטטוס השרת

אפליקציית Tomcat Manager מראה לנו גם את מצב השרת והיישומים הפרוסים. דפים אלה שימושיים במיוחד כאשר אנו רוצים להציג נתונים סטטיסטיים של שימוש.

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

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

10. שמירת תצורה

שירות הטקסט מאפשר לנו לשמור את התצורה הנוכחית ב- Tomcat conf / server.xml. זה מאוד שימושי אם שינינו את התצורה ונרצה לשמור אותה לשימוש מאוחר יותר.

למרבה המזל, זה גם מגבה את הקודם conf / server.xmlלמרות שניתן להסיר הערות קודמות בתגובה החדשה conf / server.xml קובץ תצורה.

עם זאת, לפני שנוכל לעשות זאת, עלינו להוסיף מאזין חדש. ערוך את conf / server.xml והוסף את הדברים הבאים בסוף רשימת המאזינים הקיימים:

לאחר שהפעלנו מחדש את Tomcat, אנו יכולים לשמור את התצורה שלנו באמצעות:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / save" OK - תצורת השרת נשמרה

11. אבחון

לבסוף, בואו נסתכל על מאפייני אבחון נוספים המסופקים על ידי אפליקציית Tomcat Manager.

11.1. אשכול אשכול

אנו יכולים להשתמש בשירות הטקסטים כדי לקבל זריקת חוט של שרת Tomcat הפועל:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / threaddump" OK - JVM thread dump 2019-10-06 23: 19: 10.066 dump thread thread Java HotSpot (TM) 64-bit Server Server (11.0. 3 + 12-LTS מצב מעורב): ...

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

11.2. איתור דליפות זיכרון

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

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

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

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / findleaks? statusLine = true" OK - לא נמצאו דליפות זיכרון

11.3. הצגת משאבים זמינים

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

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / resources" OK - רשימת משאבים גלובליים מכל הסוגים UserDatabase: org.apache.catalina.users.MemoryUserDatabase

12. מסקנה

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

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

למידע נוסף על אפליקציית Tomcat Manager, עיין בתיעוד המקוון.