JavaRush /จาวาบล็อก /Random-TH /ภาพรวมของแอปพลิเคชันเซิร์ฟเวอร์และแน่นอนว่า Tomcat
eGarmin
ระดับ

ภาพรวมของแอปพลิเคชันเซิร์ฟเวอร์และแน่นอนว่า Tomcat

เผยแพร่ในกลุ่ม
เรียน Javarashians ฉันต้องการพิจารณาอะไรในบทความนี้ ฉันแค่ต้องการสร้างภาพรวมสั้นๆ ของส่วนของแอปพลิเคชันเซิร์ฟเวอร์ที่สมควรได้รับความสนใจเป็นอย่างน้อย เพราะมันฟรีและมีซอร์สโค้ดให้ใช้งานได้ ฉันจะถือว่าระบบของคุณคล้ายกับของฉัน ฉันมี Windows 7 64 บิต นอกจากนี้ฉันมี JDK 1.7 และ JDK 1.8 และ ตัวแปรสภาพแวดล้อม JAVA_HOMEอ้างถึงอย่างหลัง ในกรณีของฉัน นี่หมายความว่า เส้นทาง JAVA_HOMEคือC:\Program Files\Java\jdk1.8.0_31 ภาพรวมของแอปพลิเคชันเซิร์ฟเวอร์และแน่นอน Tomcat - 1เพื่อที่เมื่อคุณทำซ้ำสิ่งที่อธิบายไว้ด้านล่าง คุณจะมีคำถามให้น้อยที่สุด เช่น “ทำไมมันไม่ได้ผลสำหรับฉัน บางทีฉันอาจทำอะไรผิดไป” ฉันจะพยายามอธิบายทุกการกระทำที่ฉันทำกับตัวเอง เครื่องจักร. เริ่ม…

การหล่อเช่น การเลือก

ก่อนอื่นเราต้องเลือกเซิร์ฟเวอร์แอปพลิเคชันสำหรับการตรวจสอบของเรา เมื่อต้องการทำสิ่งนี้ ให้ดูบทความ Wikipedia การเปรียบเทียบเซิร์ฟเวอร์แอปพลิเคชัน (ภาษาอังกฤษ เนื่องจากไม่มีที่อื่น) มีสัญญาณที่มีแอปพลิเคชันเซิร์ฟเวอร์จำนวนมาก แต่ที่น่าสนใจสำหรับเรามีเพียงเซิร์ฟเวอร์ที่เป็นโอเพ่นซอร์สและอีกด้านหนึ่งรองรับ JavaEE อย่างเต็มที่เช่น คอลัมน์ ความเข้ากันได้ ของJava EEในตารางนี้ต้องมีบรรทัดประเภทFull Platform จากรายการนี้ซึ่งมีทั้งWildFlyและJBossคุณสามารถโยนอันหลังออกได้ทันทีเพราะ มันเป็นเพียงชื่อเก่าและWildFly เวอร์ชัน เก่า ด้วยเหตุนี้ เราจึงได้รับรายชื่อเซิร์ฟเวอร์ต่อไปนี้ที่สมควรได้รับความสนใจจากเรา:
  1. Glassfish (ไม่ใช่กรรมสิทธิ์ แต่เป็น ชุมชน glassfish.java.netแต่ได้รับการสนับสนุนจาก Oracle Corporation ในระดับที่หากคุณต้องการ javaEE SDK จากเว็บไซต์ Oracle พวกเขาจะมอบแอปพลิเคชันเซิร์ฟเวอร์นี้ให้กับคุณ ไม่เช่นนั้น ไม่มีทางอื่น)
  2. (หมวกแดง) WildFly (เดิมชื่อ JBoss)
  3. (Apache)เจโรนิโม
  4. (Apache) Tomcat (นี่เป็นเพียง servlet container ไม่ใช่ application server แต่เป็นมาตรฐานซึ่งหากเขียนโปรแกรมถูกต้องก็จะใช้งานได้แน่นอน ส่วนบน server อื่น ๆ โปรแกรมก็อาจจะเขียนได้ถูกต้องในแง่ของ JavaEE แต่ทุกอย่างจะใช้งานได้มันจะไม่ถูกต้องหรือไม่เลย ฉันกำลังพูดถึง Geronimo ข้อบกพร่องที่สามารถพูดคุยกันเป็นเวลานาน)
ตอนนี้เรามาเพิ่มเซิร์ฟเวอร์เหล่านี้กันดีกว่า ในกรณีที่สามารถเลือกระหว่างเวอร์ชัน 32 ถึง 64 บิตได้ ฉันจึงเลือกตัวเก็บถาวรสำหรับระบบ 64 บิตของฉัน

การติดตั้ง

ในแง่ของการติดตั้ง ทุกอย่างทำได้ง่ายและสำหรับแต่ละเซิร์ฟเวอร์ที่เลือก การติดตั้งเป็นเพียงการแตกไฟล์เก็บถาวร ตัวอย่างเช่น ฉันสร้างโฟลเดอร์ AppServers บนเดสก์ท็อป ซึ่งฉันเริ่มแตกไฟล์ทุกอย่าง

การตั้งค่า

มาเริ่มการตั้งค่าเซิร์ฟเวอร์ด้วยการตั้งค่าพอร์ต HTTP ที่จะใช้งานได้ จากนั้นเราจะลงทะเบียนตัวเองเป็นผู้ดูแลเซิร์ฟเวอร์ แต่ละเซิร์ฟเวอร์มีคุณสมบัติการกำหนดค่าของตัวเอง สำหรับทอมแคท เราไปที่โฟลเดอร์ที่มี tomcat ที่คลายแพ็กแล้ว จากนั้นไปที่โฟลเดอร์conf ไฟล์server.xml เราพบหมายเลข 8080 (พอร์ต http เริ่มต้น) ในไฟล์นี้ และเปลี่ยนเป็นอะไรก็ได้ที่เราต้องการ ฉันตั้งค่าเป็น9713 หากต้องการลงทะเบียนตัวเองเป็นผู้ดูแลเซิร์ฟเวอร์ คุณต้องเปิดไฟล์ tomcat-users.xmlขณะอยู่ในโฟลเดอร์เดียวกัน ในนั้น ก่อนแท็กปิด</tomcat-users>ให้เพิ่มแท็กต่อไปนี้<user username="egarmin" pass="1" Roles="manager-gui,manager-script,manager-status,manager-jmx"/ >โดยที่ฉันได้มอบหมายสิทธิ์การดูแลระบบ (บทบาท) จำนวนสูงสุดให้กับบทบาทของคุณ สิ่งนี้จะช่วยให้ฉันปรับใช้แอปพลิเคชันทั้งผ่าน gui และผ่านการเชื่อมต่อระยะไกล ตอนนี้เรามาเปิดตัว Tomcat กันดีกว่า ไปที่โฟลเดอร์ที่มี Tomcat ที่คลายแพ็กแล้ว จากนั้นไปที่โฟลเดอร์binและเรียกใช้ ไฟล์ startup.bat ไปที่เบราว์เซอร์ที่http://localhost: 9713 ทุกอย่างควรจะทำงานและเราจะได้เห็นเสือ แมวตัวผู้ตอนนี้เรามาดูกันว่าคุณมีสิทธิ์เข้าถึงแผงผู้ดูแลระบบหรือไม่ ในการดำเนินการนี้ ให้ไปที่http://localhost:9713/managerป้อนข้อมูลเข้าสู่ระบบและรหัสผ่านที่เลือก และเข้าถึงได้ ผู้ดูแลระบบใน Tomcatไชโย! คุณสามารถปิดการใช้งาน Tomcat ชั่วคราวได้โดยเพียงแค่ปิดคอนโซลที่มันทำงานอยู่ สำหรับปลาแก้ว. ไปที่โฟลเดอร์ที่มีglassfish ที่ไม่ได้แพ็ก จากนั้นไปที่ โฟลเดอร์ย่อย glassfishจากนั้นไปที่ โฟลเดอร์ย่อย ของโดเมนจากนั้นไปที่โฟลเดอร์domain1 ไปที่ โฟลเดอร์ configและค้นหาไฟล์domain.xml ที่นั่นเรายังมองหาหมายเลข8080 (โดยทั่วไปแล้วหมายเลขนี้จะเป็นพอร์ต HTTP เริ่มต้นสำหรับแอปพลิเคชันเซิร์ฟเวอร์และคอนเทนเนอร์เซิร์ฟเล็ต) และเปลี่ยนเป็นอะไรก็ได้ที่เราต้องการ ฉันตั้งค่าเป็น9813 มาเปิดตัวปลาแก้วกันเถอะ ไปที่โฟลเดอร์ที่มี Glassfish ที่ไม่ได้แพ็ค จากนั้นไปที่ โฟลเดอร์ ย่อยGlassfishจากนั้นไปที่ โฟลเดอร์ bin รันไฟล์startserv.bat ในเบราว์เซอร์ ให้ป้อนที่อยู่http://localhost: 9813 บนหน้าที่น่าเกลียดที่ปรากฏพร้อมกับชื่อGlassFish Serverให้ค้นหาลิงค์เพื่อไปที่ Administration Consoleแล้วคลิกที่มัน เข้าสู่ระบบ GlassFish ครั้งแรกจากนั้นเมื่อไปที่หน้าที่สวยงามของคอนโซลผู้ดูแลระบบที่สร้างบน JSF คลิกรายการเปลี่ยนรหัสผ่านผู้ดูแลระบบ ผู้ดูแลระบบใน GlassFishและป้อนรหัสผ่านที่เราต้องการสำหรับ ผู้ใช้ ผู้ดูแลระบบจากนั้นยืนยันและคลิก ปุ่ม บันทึก. การเปลี่ยนรหัสผ่านของคุณใน GlassFishเมื่อคุณเข้าสู่ระบบคอนโซลผู้ดูแลระบบในภายหลัง คุณจะต้องป้อน ข้อมูลเข้าสู่ระบบ ของผู้ดูแลระบบและรหัสผ่านที่ระบุ เข้าสู่ระบบแผงผู้ดูแลระบบ GlassFish โดยใช้รหัสผ่านตอนนี้คุณสามารถปิดการใช้งานGlassfish ชั่วคราวได้ โดยเพียงแค่ปิดคอนโซลที่มันทำงานอยู่ สำหรับ WildFly ไปที่โฟลเดอร์ที่มีwildfly ที่คลายไฟล์ แล้ว จากนั้น ไปที่ โฟลเดอร์ สแตนด์อโลนจากนั้นไป ที่โฟลเดอร์ การกำหนดค่าและในไฟล์standalone.xml ต่อไปเราดำเนินการตามโครงการที่กำหนดไว้ ฉันตั้งค่าพอร์ตเป็น9913 มาเริ่มเซิร์ฟเวอร์กันดีกว่า หากต้องการทำสิ่งนี้ ให้ไปที่โฟลเดอร์ที่มีwildfly ที่คลายแพ็ก แล้ว จากนั้นไปที่ โฟลเดอร์ bin และ เรียกใช้ไฟล์standalone.bat เปิดเบราว์เซอร์และป้อนที่อยู่http://localhost:9913 . เข้าสู่ระบบ WildFly ครั้งแรกคลิก ลิงก์ คอนโซลการดูแลระบบเพื่อเข้าสู่คอนโซลผู้ดูแลระบบ (หรืออีกนัยหนึ่งคือแผงผู้ดูแลระบบของแอปพลิเคชันเซิร์ฟเวอร์) แต่นั่นกลับไม่เป็นอย่างนั้น เพราะว่า... หน้าจอปรากฏขึ้น หน้าจอ นี้เข้าสู่ระบบครั้งแรกที่แผงผู้ดูแลระบบ WildFlyบอกเราว่ายังไม่ได้สร้างผู้ดูแลระบบ และเพื่อสร้างมันขึ้นมาเราจำเป็นต้องใช้คอนโซลยูทิลิตี้add-user.bat ถ้ามันจำเป็นมันก็จำเป็น เรากลับไปที่ โฟลเดอร์ binและเรียกใช้ยูทิลิตี้นี้ ขั้นแรก คุณจะถูกขอให้เลือกประเภทผู้ใช้ที่เราต้องการสร้าง เราจำเป็นต้องเลือกรายการ(ก)ซึ่งจะหมายความว่าเราต้องการผู้ดูแลระบบ จากนั้นระบบจะถามชื่อผู้ใช้นี้ชื่อผู้ใช้และรหัส ผ่าน รหัส ผ่าน รหัสผ่านไม่สามารถเว้นว่างได้ แต่ยินดีต้อนรับหนึ่งตัวอักษร แน่นอนว่ายูทิลิตี้จะดุ แต่จะกลืนมันลงไปหากคุณตอบว่าใช่สำหรับคำถาม "คุณแน่ใจหรือไม่" จากนั้น ยืนยันรหัสผ่านโดยป้อน คำขอป้อนรหัสผ่านอีกครั้ง จากนั้นจะมีคำถามเพิ่มเติม แต่เราเพียงตอบทุกข้อในเชิงยืนยันและออกจากยูทิลิตี้ กลับไปที่หน้าด้านบน ค้นหา ลิงก์ ลองอีกครั้งแล้วคลิกที่ลิงก์ ตอนนี้ โดยการป้อนรายละเอียดของผู้ดูแลระบบที่สร้างขึ้นใหม่ คุณสามารถไปที่แผงผู้ดูแลระบบได้ ผู้ดูแลระบบใน WildFlyเราปิดเซิร์ฟเวอร์โดยปิดหน้าต่างคอนโซลที่เปิดใช้งาน สำหรับเจโรนิโม่ ไปที่โฟลเดอร์ที่มีGeronimo ที่แตกไฟล์ แล้ว จากนั้นไปที่ โฟลเดอร์ย่อยvarจากนั้นไปที่ โฟลเดอร์ configและในไฟล์config-substitutions.properties ไฟล์นี้อธิบายพอร์ตทั้งหมดที่ใช้โดยแอปพลิเคชันเซิร์ฟเวอร์ในรูปแบบที่สะดวก แต่รูปแบบการเปลี่ยนพอร์ตจะเหมือนกัน ฉันตั้ง ค่าพอร์ตเป็น10013 มาเริ่ม เซิร์ฟเวอร์Geronimoกัน ไปที่โฟลเดอร์ที่มีGeronimo ที่คลายแพ็ก แล้วไปที่ โฟลเดอร์ย่อย binและเรียกใช้ ไฟล์ startup.bat ที่ นั่น ไปที่หน้าhttp://localhost:10013. คุณคิดอย่างไร? เป็นไปได้มากว่าเพจจะไม่อยู่ที่นั่น ทำไม ประเด็นก็คือ Geronimo (3.0) เวอร์ชันล่าสุดไม่สามารถทำงานร่วมกับ JDK (1.8) เวอร์ชันล่าสุดได้ ดังนั้นหากคุณมีหรือมีเพียงเวอร์ชัน 7 เท่านั้น แต่ตัวแปรสภาพแวดล้อม 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)และถ้าคุณไม่เปลี่ยนแปลงอะไรเลย JDK 32 บิตจะเข้าไปอยู่ใน หลัง. อะไรจะน่ากลัวขนาดนั้น? ใช่ ดูเหมือนว่าจะไม่เป็นไร หากตัวแปร JAVA_HOME มีวงเล็บอยู่ในเส้นทาง (x86) แสดงว่า Geronimo มีอาการอาหารไม่ย่อย ทำไม พระเจ้ารู้ โดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่าตามฟอรัม ข้อผิดพลาดนี้ ควรได้รับการแก้ไข ใน Geronimoเวอร์ชันที่ 3 แต่ไม่มีอะไรแบบนั้น สิ่งสำคัญในเรื่องนี้คืออย่าฉี่ฉี่ถ้าคนอินเดียไม่แก้ไขเราก็จะแก้ไขให้ถูกต้อง มีสองวิธีในการทำเช่นนี้ ซึ่งฉันชอบที่จะรวมเข้าด้วยกันเพื่อให้แน่ใจ ขั้นแรก ไปที่ ไฟล์ setjavaenv.bat อีกครั้ง และค้นหาป้ายกำกับที่กล่าวถึงแล้ว: okJdkFileCheck ใต้ป้ายกำกับนี้จะมีบรรทัดว่า "%JRE_HOME%" == "" if existing "%JAVA_HOME%\bin\javac.exe" (set JRE_HOME=%JAVA_HOME%\jre) else set JRE_HOME=%JAVA_HOME%โดยที่ รักษา Geronimo มันจะเพียงพอที่จะใส่สตริงย่อย JRE_HOME=%JAVA_HOME%\jre ในเครื่องหมายคำพูด เช่น แทนที่ทั้งบรรทัดด้วยif "%JRE_HOME%" == "" if existing "%JAVA_HOME%\bin\javac.exe" (set "JRE_HOME=%JAVA_HOME%\jre") else set 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 - บิต JDK ในระบบปฏิบัติการ 64 บิต x บิต อะไรประมาณนี้... ในที่สุดคุณก็สามารถเปิดGeronimo ได้โดยโทรไปที่startup.bat ตอนนี้ไม่น่าจะมีปัญหาใดๆ ไปที่หน้า http://localhost:10013ในเบราว์เซอร์ ที่ด้านซ้ายบน ให้ค้นหา ลิงก์ Consoleแล้วคลิกลิงก์นั้น เจโรนิโมคุณต้องป้อนชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบ ให้ฉันบอกคุณทันทีว่านี่คือ ผู้ใช้ ระบบ ที่มี ตัวจัดการรหัสผ่าน(ค่าเริ่มต้น) เข้าสู่ระบบพื้นที่ผู้ดูแลระบบ Geronimo โดยใช้รหัสผ่านโดยไปที่คอนโซลและปฏิบัติตามรายการเมนูดังภาพด้านล่าง (เลือก ปุ่มตัวเลือก ขั้นสูงจากนั้นเลือกความปลอดภัย > ผู้ใช้และกลุ่ม ) คุณสามารถเปลี่ยนรหัสผ่านสำหรับ ผู้ใช้ ระบบหรือสร้างผู้ใช้ผู้ดูแลระบบรายอื่น และ ลบอันนี้ การเปลี่ยนรหัสผ่านของคุณใน Geronimoคุณยังสามารถ หยุด เซิร์ฟเวอร์ Geronimo ได้ โดยเพียงแค่ปิดหน้าต่างคอนโซลที่เซิร์ฟเวอร์กำลังทำงานอยู่

บทสรุป

ในการตรวจสอบนี้ โดยพื้นฐานแล้ว ฉันเพิ่งผ่านการติดตั้งและการกำหนดค่าเริ่มต้นของแอปพลิเคชันเซิร์ฟเวอร์ยอดนิยมและคอนเทนเนอร์เซิร์ฟเล็ต Tomcat ยกเว้น Geronimo เซิร์ฟเวอร์ที่เหลือก็เป็นมิตรและมีอัธยาศัยดีกับฉันมาก ในโพสต์ถัดไป ฉันจะพิจารณาแอปพลิเคชันเซิร์ฟเวอร์ต่อไป และดำเนินการขั้นตอนที่ 3 ในการพิจารณาบริการเว็บ กล่าวคือ ฉันจะแสดงวิธีการปรับใช้บริการเว็บ ที่อธิบายไว้ ในขั้นตอนแรก ในเซิร์ฟเวอร์เหล่านี้ ในการดำเนินการนี้ เราจะสร้างไฟล์เก็บถาวร war ของบริการบนเว็บของเรา และฉันจะแสดงอย่างชัดเจนว่าชุดขวดของบุคคลที่สามที่ต้องรวมอยู่ในไฟล์เก็บถาวรนี้เพื่อให้บริการทำงานได้อย่างถูกต้องนั้นแตกต่างกันไปอย่างมากในแต่ละเซิร์ฟเวอร์
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION