JavaRush /בלוג Java /Random-HE /סקירה כללית של שרתי יישומים וכמובן Tomcat
eGarmin
רָמָה

סקירה כללית של שרתי יישומים וכמובן Tomcat

פורסם בקבוצה
ג'אוואשיאנים יקרים, מה אני רוצה לקחת בחשבון במאמר זה? אני רק רוצה לעשות סקירה קצרה של החלק הזה בשרתי יישומים שראוי לתשומת לב לפחות בגלל שהם חינמיים וקוד המקור שלהם זמין. אני מניח שהמערכת שלך דומה לשלי. יש לי ווינדוס 7 64 ביט, בנוסף יש לי JDK 1.7 ו-JDK 1.8, ומשתנה הסביבה JAVA_HOME מתייחס לאחרון שבהם. במקרה שלי, זה אומר שהנתיב של JAVA_HOME הוא C:\Program Files\Java\jdk1.8.0_31. סקירה כללית של שרתי יישומים וכמובן Tomcat - 1כדי שכשאת חוזר על מה שמתואר למטה, יש לך כמה שפחות שאלות כמו "למה זה לא עבד לי, אולי אני עושה משהו לא בסדר?", אנסה לתאר כל פעולה שעשיתי על שלי מְכוֹנָה. התחל…

ליהוק, כלומר. בְּחִירָה

ראשית עלינו לבחור שרתי יישומים לבדיקה שלנו. לשם כך, עיין במאמר ויקיפדיה השוואת שרתי יישומים (אנגלית, כי אין עוד אחד). יש שלט עם חבורה של שרתי יישומים, אבל מעניינים אותנו רק אלה שמצד אחד הם בקוד פתוח, ומצד שני, תומכים באופן מלא ב-JavaEE, כלומר. עמודת התאימות של Java EE בטבלה זו חייבת להכיל שורה מסוג Full Platform . מהרשימה הזו, שמכילה גם את WildFly וגם את JBoss , אתה יכול מיד לזרוק את האחרון, כי זה רק שם ישן וגרסאות ישנות של WildFly . כתוצאה מכך, אנו מקבלים את הרשימה הבאה של שרתים שראויים לתשומת לבנו:
  1. Glassfish (לא קנייני, אלא זה של קהילת glassfish.java.net , אבל זה נתמך על ידי Oracle Corporation במידה כזו שאם אתה צריך javaEE SDK מאתר אורקל, אז הם יתנו לך את שרת היישומים הזה, אחרת אין דרך אחרת)
  2. (Red Hat) WildFly (לשעבר JBoss)
  3. (אפאצ'י) ג'רונימו
  4. (Apache) Tomcat (זהו רק קונטיינר servlet, לא שרת יישומים, אבל זה הסטנדרט שבו, אם התוכנית כתובה נכון, היא בהחלט תעבוד. בשרתים אחרים, ייתכן שהתוכנית תהיה כתובה נכון מבחינת JavaEE, אבל הכל יעבוד זה יהיה שגוי או לא בכלל. אני מדבר על ג'רונימו, שעל התקלות שבו אפשר לדון הרבה זמן)
עכשיו בואו נשאב את השרתים האלה. במקום בו ניתן היה לבחור בין גרסאות 32 ו-64 סיביות, בחרתי בארכיון עבור מערכת ה-64 סיביות שלי.

הַתקָנָה

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

הגדרות

בואו נתחיל להגדיר שרתים על ידי הגדרת יציאת ה-HTTP עליה היא תעבוד. לאחר מכן נרשום את עצמנו כמנהל השרת. לכל שרת יש תכונות תצורה משלו. עבור Tomcat. אנחנו עוברים לתיקיה עם tomcat unpacked, ואז לתיקיית conf , לקובץ server.xml . אנו מוצאים את המספר 8080 (יציאת ברירת המחדל של http) בקובץ הזה ומשנים אותו למה שנרצה. הגדרתי אותו ל -9713 . כדי לרשום את עצמך כמנהל שרת, עליך לפתוח את הקובץ tomcat-users.xml באותה תיקיה . בתוכו, לפני תג הסגירה </tomcat-users>, הוסף את התג הבא <user username="egarmin" password="1" roles="manager-gui,manager-script,manager-status,manager-jmx"/ > היכן אצלך הקציתי את המספר המרבי של זכויות ניהול (תפקידים) לתפקידים. זה יאפשר לי לפרוס יישומים גם דרך ה-Gui וגם דרך חיבור מרחוק. עכשיו בואו נשיק את Tomcat. עבור אל התיקיה עם tomcat unpacked, ולאחר מכן את תיקיית bin והפעל את הקובץ startup.bat . עבור אל הדפדפן בכתובת http://localhost:9713 . הכל צריך לעבוד ונראה את הנמר. Tomcatכעת בוא נבדוק אם יש לך גישה לפאנל הניהול. לשם כך, עבור אל http://localhost:9713/manager , הזן את פרטי הכניסה והסיסמה שנבחרו וקבל גישה. מנהל בטומקטהידד! אתה יכול להשבית זמנית את Tomcat פשוט על ידי סגירת הקונסולה שבה הוא פועל. עבור Glassfish. עבור לתיקיה עם ה- glasfish שנפרק , ואז לתיקיית המשנה של glassfish , ואז לתיקיית המשנה של domains , ואז לתיקיית domain1 . עבור אל תיקיית ההגדרות ומצא את הקובץ domain.xml . שם אנחנו גם מחפשים את המספר 8080 (מספר זה הוא בדרך כלל יציאת ה-HTTP המוגדרת כברירת מחדל עבור שרתי יישומים ומיכלי servlet) ומשנים אותו למה שנרצה. הגדרתי אותו ל -9813 . בואו נשיק דג זכוכית. עבור אל התיקיה עם דג הזכוכית שנפרק, לאחר מכן אל תיקיית המשנה של דג הזכוכית ולאחר מכן אל תיקיית הפח . הפעל את הקובץ startserv.bat . בדפדפן, הזן את הכתובת http://localhost:9813 . בעמוד המכוער שמופיע עם הכותרת GlassFish Server, מצא את הקישור למעבר למסוף הניהול ולחץ עליו. כניסה ראשונה ל- GlassFishלאחר מכן, לאחר שהגעתי לדף היפה של קונסולת הניהול הבנויה על JSF, לחץ על הפריט שנה סיסמת מנהל מנהל ב-GlassFish והזן את הסיסמה הדרושה לנו למשתמש המנהל , ולאחר מכן אשר אותה ולחץ על כפתור שמור. שינוי הסיסמה שלך ב-GlassFishכאשר אתה נכנס לאחר מכן למסוף הניהול, תצטרך להזין את פרטי הכניסה למנהל המערכת ואת הסיסמה שצוינה. היכנס לפאנל הניהול של GlassFish באמצעות סיסמהכעת תוכל להשבית זמנית את Glassfish על ידי סגירת הקונסולה שבה הוא פועל. עבור WildFly. עבור אל התיקיה עם זבוב הבר שנפרק . לאחר מכן, עבור אל התיקיה העצמאית , ולאחר מכן אל תיקיית התצורה ותוכה לקובץ standalone.xml . לאחר מכן נמשיך לפי התוכנית שנקבעה. הגדרתי את היציאה ל -9913 . בואו נתחיל את השרת. לשם כך, הבה נלך לתיקיה עם זבוב הפרא שנפרק . לאחר מכן, עבור אל תיקיית bin והפעל את הקובץ standalone.bat . פתח את הדפדפן והזן את הכתובת http://localhost:9913 . כניסה ראשונה ל-WildFlyלחץ על הקישור מסוף הניהול כדי להיכנס למסוף הניהול (במילים אחרות, לוח הניהול של שרת היישומים). אבל זה לא היה המקרה, כי... המסך קופץ. כניסה ראשונה לפאנל הניהול של WildFlyמסך זה אומר לנו שמנהל המערכת לא נוצר, וכדי ליצור אותו עלינו להשתמש בכלי השירות של המסוף add-user.bat . ובכן, אם זה נחוץ, זה הכרחי. אנו חוזרים לתיקיית bin ומפעילים את כלי השירות הזה. ראשית, תתבקש לבחור את סוג המשתמש שברצוננו ליצור. אנחנו צריכים לבחור פריט (א) , מה שאומר שאנחנו צריכים אדמין. לאחר מכן תתבקשו להזין את שם המשתמש והסיסמה של המשתמש הזה . הסיסמה לא יכולה להיות ריקה, אבל תו אחד יתקבל בברכה. השירות כמובן ינזוף, אבל יבלע אותו אם תענה בחיוב לשאלה "האם אתה בטוח?" לאחר מכן, אשר את הסיסמה על ידי הזנה מחדש של הבקשה להזין מחדש את הסיסמה . אז יהיו עוד שאלות, אבל אנחנו פשוט עונים על כולן בחיוב ויוצאים מהשירות. חזרה לדף למעלה, מצא את הקישור נסה שוב ולחץ עליו. כעת, על ידי הזנת הפרטים של המנהל החדש שנוצר, אתה יכול להגיע לפאנל הניהול. מנהל ב-WildFlyאנו כיבים את השרת על ידי סגירת חלון המסוף שדרכו הוא הושק. עבור ג'רונימו. עבור לתיקייה עם geronimo לא ארוז . לאחר מכן, עבור לתיקיית המשנה var , ולאחר מכן לתיקיית config , ובה הקובץ config-substitutions.properties . קובץ זה מתאר את כל היציאות המשמשות את שרת היישומים בפורמט נוח, אך סכימת החלפת היציאה זהה. הגדרתי את היציאה ל -10013 . בואו נתחיל את שרת הג'רונימו . בוא נלך לתיקיה עם geronimo לא מארז , ואז לתיקיית המשנה bin ונפעיל את הקובץ startup.bat שם . עבור לדף http://localhost:10013. מה אתה חושב? סביר להניח שהדף לא יהיה שם. למה? העניין הוא שהגרסה העדכנית ביותר של Geronimo (3.0) לא יכולה לעבוד עם הגרסה העדכנית ביותר של ה-JDK (1.8), אז אם יש לך רק אותה או אפילו יש לך, למשל, את הגרסה השביעית, אבל משתנה הסביבה JAVA_HOME עדיין מתייחס ספציפית ל 8, כמו שלי, שרת היישומים לא יתחיל. לפיכך, כדי ש-Geronimo יעבוד, עליך להוריד את JDK 1.7. עכשיו נניח שהתקנת את ה-JDK ה-7, אבל לא רוצה לשנות את הערך של המשתנה JAVA_HOME (אחרי הכל, תוכנות אחרות לא מתלוננות על זה, מה שאומר שהן יכולות לעבוד עם הגרסה האחרונה של ה-JDK). מה לעשות? אני ממליץ לפתוח את הקובץ setjavaenv.bat שנמצא באותה תיקיית bin ולחפש את השורה שכותרתה :okJdkFileCheck . ואז בשורה הבאה הוסף עקיפה של משתנה סביבה. לדוגמה, כך: set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 השורה הזו לא קיימת, אז אנא כתוב אותה בעצמך. אם יש לך מערכת 32 סיביות, אז לא אמורות להיות בעיות נוספות. יתרה מכך, אם יש לך מערכת 64 סיביות והתקנת את JDK 1.7 בתצורת 64 סיביות, אז הכל בסדר גם עבורך. עכשיו בואו נדמיין שהחלטנו להיות מעוותים ולהתקין JDK 1.7 מקו ה-32 סיביות על מערכת 64 סיביות (יש לי, למשל, Windows 7 64). מה אז? אז תצטרך להתעסק עוד קצת, כי במערכת 64 סיביות יש שתי תיקיות להתקנת תוכניות: Program Files ו- Program Files (x86) ואם לא תשנה כלום, ה-32 סיביות JDK ייכנס ל- אַחֲרוֹן. מה כל כך מפחיד בזה? כן, זה נראה בסדר, עם זאת, אם למשתנה JAVA_HOME יש סוגריים בנתיב שלו (x86), אז ג'רונימו מקבל בעיות עיכול. למה? אלוהים יודע, במיוחד בהתחשב בכך שלפי הפורומים, השגיאה הזו הייתה צריכה להיות מתוקנת בגרסה 3 של Geronimo . אבל שום דבר כזה. העיקר בעניין זה לא לעשות פיפי, אם ההודים לא תיקנו את זה אז נתקן. ישנן שתי דרכים לעשות זאת, שאני מעדיף לשלב רק ליתר ביטחון. ראשית, עבור שוב לקובץ setjavaenv.bat ומצא את התווית שהוזכרה כבר :okJdkFileCheck . תחת תווית זו יש שורה אם "%JRE_HOME%" == "" אם קיים "%JAVA_HOME%\bin\javac.exe" (סט JRE_HOME=%JAVA_HOME%\jre) אחרת הגדר JRE_HOME=%JAVA_HOME% שבו לרפא ג'רונימו זה יספיק לשים את המחרוזת המשנה JRE_HOME=%JAVA_HOME%\jre במרכאות, כלומר. החלף את כל השורה ב- if "%JRE_HOME%" == "" אם קיים "%JAVA_HOME%\bin\javac.exe" (הגדר "JRE_HOME=%JAVA_HOME%\jre") אחרת הגדר JRE_HOME=%JAVA_HOME% . כמו כן, זכור או שים לב שלתיקיות כמו Program Files ב-Windows 7 יש מילים נרדפות (לדוגמה, לתיקיה C:C:\Progra~2 ). לכן, אם אתה בקובץ setjavaenv.bat אחרי התווית :okJdkFileCheck תגדיר את הערך הבא של המשתנה JAVA_HOME set JAVA_HOME=C:\Progra~2\Java\jdk1.7.0_75 אז יהיה לך גם שרת Geronimo שמריץ 32 -bit JDK במערכת הפעלה 64-bit x bit. משהו כזה... ובכן, סוף סוף, אתה יכול להפעיל את Geronimo על ידי קריאה ל- startup.bat . עכשיו לא אמורות להיות בעיות. עבור אל הדף http://localhost:10013 בדפדפן . בפינה השמאלית העליונה, מצא את הקישור למסוף ולחץ עליו. ג'רונימועליך להזין את שם המשתמש והסיסמה שלך למנהל המערכת. הרשו לי לומר לכם מיד שזהו משתמש המערכת עם מנהל הסיסמאות (ערכי ברירת מחדל). היכנס לאזור הניהול של Geronimo באמצעות סיסמהעל ידי מעבר לקונסולה עצמה ומעקב אחר פריטי התפריט כמו בתמונה למטה (בחר בלחצן הבחירה מתקדם ולאחר מכן בחר אבטחה > משתמשים וקבוצות ), תוכל לשנות את הסיסמה עבור משתמש המערכת , או ליצור משתמש מנהל אחר, ו למחוק את זה. שינוי הסיסמה שלך בג'רונימואתה יכול גם לעצור את שרת Geronimo פשוט על ידי סגירת חלון המסוף שבו השרת פעל.

סיכום

בסקירה זו, בעצם עברתי על ההתקנה והתצורה הראשונית של שרתי יישומים פופולריים ומיכל השרתים של Tomcat. למעט ג'רונימו, שאר השרתים היו מאוד ידידותיים ומסבירי פנים אליי. בפוסט הבא, אמשיך לשקול שרתי יישומים ולקחת את הצעד השלישי לקראת בחינת שירותי אינטרנט, כלומר, אראה כיצד לפרוס את שירות האינטרנט המתואר בשלב הראשון בשרתים אלו. לשם כך, ניצור ארכיון מלחמה של שירות האינטרנט שלנו, ואראה בבירור שסט של jars של צד שלישי שחייב להיכלל בארכיון הזה כדי שהשירות יעבוד נכון משתנה מאוד משרת לשרת.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION