วิธีปรับใช้ไฟล์สงครามใน Tomcat 7


346

ฉันได้คัดลอกsample.warไฟล์ไปยังwebappsไดเรกทอรีของ Tomcat แล้วและฉันสามารถเข้าถึงlocalhost:8080ได้

ตอนนี้ Tomcat จะปรับใช้อย่างไรฉันหมายถึงฉันต้องเปิดมันในเบราว์เซอร์หรือไม่? ฉันจะเข้าถึงแอปพลิเคชันได้อย่างไร

คำตอบ:


325

คุณสามารถเข้าถึงแอปพลิเคชันของคุณได้จาก: http://localhost:8080/sample

การปรับใช้หรือการปรับใช้ไฟล์สงครามใหม่เป็นไปโดยอัตโนมัติตามค่าเริ่มต้น - หลังจากคัดลอก / เขียนทับไฟล์sample.warให้ตรวจสอบwebappsโฟลเดอร์ของคุณสำหรับโฟลเดอร์ที่แตกออกมาsampleโฟลเดอร์สำหรับโฟลเดอร์สกัด

หากไม่สามารถเปิดได้อย่างถูกต้องให้ตรวจสอบไฟล์บันทึก (เช่น tomcat / logs / catalina.out) สำหรับปัญหาในการปรับใช้


7
จะเกิดอะไรขึ้นถ้าชื่อ WAR เป็น "ROOT.war" ฉันจะหาสงครามนั้นได้ที่ไหน
เควินเมเรดิ ธ

5
ถ้าฉันต้องการปรับใช้ sample.war ของฉันกับ localhost: 8080 / somethingdifferent
Koray Tugay

15
คุณสามารถระบุได้ใน META-INF / context.xml
Bozho

5
META-INF / context.xml มันเป็นหนึ่งใน tomcat \ conf \ context.xml หรือไม่ หรือฉันควรจะปรับใช้ในแอปพลิเคชันของฉันหรือไม่
Koray Tugay

2
มันสามารถเป็นได้ทั้งสองแห่ง ฉันชอบที่จะอยู่ในแอปพลิเคชัน
Bozho

89

ขั้นตอนที่ 1. ที่นี่ฉันกำลังปรับใช้pos.warขั้นแรกไปที่โฟลเดอร์ tomcat webapps และวาง

ป้อนคำอธิบายรูปภาพที่นี่

ขั้นตอนที่ 2. ไปที่ tomcat-> โฟลเดอร์binเริ่ม tomcat โดยคลิกที่startup.bat

ขั้นตอนที่ 3 ไปที่เบราว์เซอร์เขียน localhost: พอร์ต / ชื่อโครงการเช่น localhost: 8080 / pos (ที่นี่ tomcat ของฉันทำงานบนพอร์ต 8080)

เสร็จสิ้น ....

ป้อนคำอธิบายรูปภาพที่นี่


ขอบคุณ! นอกจากนี้ฉันจำเป็นต้องตั้งค่าการอนุญาตให้กับโครงสร้างไดเรกทอรี Tomcat ที่เพิ่งติดตั้งใหม่เพื่อให้สามารถแยก WAR ของฉันและสร้างไฟล์บันทึกได้
Anthony De Souza

59

คุณเพียงแค่ใส่ไฟล์ war ของคุณลงใน webapps จากนั้นเริ่มเซิร์ฟเวอร์ของคุณ

มันจะได้รับการใช้งาน

มิฉะนั้นคุณสามารถใช้หน้าเว็บผู้จัดการ Tomcat เพื่ออัปโหลดและปรับใช้สงครามของคุณจากระยะไกล


1
น่าเสียดายที่มันไม่ทำงาน! คุณต้องการทดสอบไฟล์สงครามเฉพาะของฉันหรือไม่! กรุณาดาวน์โหลด "linshare-core-1.8.4-without-SSO.war" จาก " forge.linshare.org/projects/linshare/files "
Dr.jacky

@ Mr.H หางบันทึกเมื่อคุณเริ่มต้นเซิร์ฟเวอร์หลังจากที่วางสงครามคุณจะพบว่าทำไมมันไม่ทำงาน
Jigar Joshi

1
"ถ้าแอ็ตทริบิวต์ Host autoDeploy เป็น" true "โฮสต์จะพยายามปรับใช้และอัปเดตแอปพลิเคชันเว็บแบบไดนามิกตามต้องการตัวอย่างเช่นหาก. WAR ใหม่ถูกทิ้งลงใน appBase เพื่อให้ทำงานได้โฮสต์จะต้องมีพื้นหลัง เปิดใช้งานการประมวลผลซึ่งเป็นการกำหนดค่าเริ่มต้น "
haltunbay

50

ขั้นตอนแบบแมนนวล - Windows

  1. คัดลอกไฟล์. war (เช่น: prj.war) ไปที่%CATALINA_HOME%\webapps(เช่น: C: \ tomcat \ webapps)

  2. วิ่ง %CATALINA_HOME%\bin\startup.bat

  3. ไฟล์. war ของคุณจะถูกแตกโดยอัตโนมัติไปยังโฟลเดอร์ที่มีชื่อเดียวกัน (ไม่มีนามสกุล) (เช่น: prj)

  4. ไปที่%CATALINA_HOME%\conf\server.xmlและใช้พอร์ตสำหรับโปรโตคอล HTTP <Connector port="8080" ... />. ค่าเริ่มต้นคือ8080

  5. เข้าถึง URL ต่อไปนี้:

    [<protocol>://]localhost:<port>/folder/resourceName

    (เช่น: localhost:8080/folder/resourceName )

อย่าพยายามเข้าถึง URL หากไม่มีresourceNameเพราะจะไม่ทำงานหากไม่มีไฟล์index.htmlหรือหรือไม่มีรูปแบบ URL เช่น " /" หรือ " /*" ใน web.xml

เส้นทางหลักที่มีอยู่ที่นี่: [<protocol>://]localhost:<port>/manager/html(เช่น:) http://localhost:8080/manager/htmlและมีtrueอยู่ในคอลัมน์ "กำลังทำงาน"


ใช้ผู้จัดการ UI:

  1. ไปที่[<protocol>://]localhost:<port>/manager/html/(ปกติlocalhost:8080/manager/html/)

    สามารถทำได้จาก[<protocol>://]localhost:<port>> แอพ Manager )

    ถ้าคุณได้รับ:

    403 Access Denied

    ไปที่%CATALINA_HOME%\conf\tomcat-users.xmlและตรวจสอบว่าคุณได้เปิดใช้งานสายเช่นนี้:

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. ในการปรับใช้ส่วนไฟล์ WAR ในการปรับใช้ย่อยคลิกเรียกดู ...

    ปรับใช้การเรียกดู

  3. เลือกไฟล์. war (เช่น: prj.war)> คลิกที่Deployปรับใช้

  4. ในส่วนแอปพลิเคชันคุณสามารถเห็นชื่อโครงการของคุณ (เช่น: prj)

20

นอกเหนือจากวิธีที่กล่าวมาแล้ว (วางไฟล์ war ลงในwebapps -directory โดยตรง) หากคุณติดตั้งโปรแกรม Tomcat Manager ไว้คุณสามารถปรับใช้ไฟล์ war ผ่านเบราว์เซอร์ได้เช่นกัน ในการไปยังผู้จัดการให้เรียกดูที่รูทของเซิร์ฟเวอร์ (ในกรณีของคุณคือ localhost: 8080) เลือก "Tomcat Manager" (ณ จุดนี้คุณต้องรู้ชื่อผู้ใช้และรหัสผ่านสำหรับผู้ใช้ Tomcat ด้วย "manager" - บทบาทผู้ใช้ถูกกำหนดในtomcat-users.xmlในconfไดเรกทอรีของการติดตั้ง tomcat) จากหน้าเปิดเลื่อนลงไปจนกระทั่งคุณเห็น "ปรับใช้" - บางส่วนของหน้าซึ่งคุณสามารถคลิก "เรียกดู" เพื่อเลือกไฟล์ WAR เพื่อปรับใช้จากเครื่องท้องถิ่นของคุณ หลังจากคุณเลือกไฟล์แล้วให้คลิกปรับใช้ หลังจากนั้นไม่นานผู้จัดการควรแจ้งให้คุณทราบว่าแอปพลิเคชันได้รับการปรับใช้แล้ว (และหากทุกอย่างเริ่มต้นได้ดี)

ต่อไปนี้เป็นคำแนะนำเพิ่มเติมและคำแนะนำอื่น ๆ จากหน้าเอกสารคู่มือ Tomcat 7


4
managerบทบาทในการโพง 7 manager-guiอยู่ในขณะนี้ ฉันถูกคนนี้กัด
SpliFF

2
การปล่อยไฟล์. war ใน webapps ไม่ได้ผลสำหรับฉันและไม่มีร่องรอยของข้อผิดพลาดในบันทึก ทำจากผู้จัดการ Tomcat ทำเคล็ดลับ ไม่ใช่เงื่อนงำว่าทำไมวิธีแรกจึงล้มเหลว
xverges

15

มีสองวิธี:

  1. คุณสามารถปรับใช้แบบร้อนได้ (การปรับใช้แบบร้อนหมายถึงการปรับใช้เมื่อเซิร์ฟเวอร์กำลังทำงาน / ขึ้น)
  2. หรือคุณสามารถทำการปรับใช้แบบเย็น (การปรับใช้แบบเย็นหมายถึงการปรับใช้เมื่อเซิร์ฟเวอร์หยุดทำงาน)

เพียงใช้คอนโซลผู้จัดการ Tomcat สำหรับการปรับใช้คอนโซลหรือคัดลอกและวางแอปพลิเคชันของคุณในโฟลเดอร์ webapp ของไดเรกทอรี tomcat_home ของเซิร์ฟเวอร์

หมายเหตุ:ตรวจสอบให้แน่ใจว่าขนาดไฟล์ war ของคุณมากกว่า 52 MB ( ค่าการกำหนดค่าเริ่มต้น ) คุณต้องทำการเปลี่ยนแปลงเล็กน้อยสองครั้งในไฟล์ web.xml ของแอปพลิเคชัน Manager ของโฟลเดอร์ webapp ของคุณ (แอปพลิเคชัน Manager มีให้โดย Apache tomcat โดยค่าเริ่มต้น เมื่อทำการติดตั้งเซิร์ฟเวอร์)

  • ไปที่ web.xml ของแอปพลิเคชันผู้จัดการ (เช่นอาจอยู่ภายใต้ /tomcat7/webapps/manager/WEB-INF/web.xml)

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>

    เพิ่มขนาดโดยใส่ค่าสำหรับ<max-file-size>และ<max-request-size>ตามความต้องการของคุณ


10

สิ่งนี้ได้ผลสำหรับฉัน:

  1. สร้างไฟล์สงครามของคุณ (mysite.war) ในเครื่อง
  2. เปลี่ยนชื่อเป็นชื่ออื่นนอกเหนือจาก. war เช่น mysite
  3. Tomcat ยังคงทำงานอยู่ให้อัพโหลด mysite.www ไปยังwebappsไดเรกทอรี
  4. หลังจากเสร็จสิ้นการอัปโหลดลบรุ่นก่อนหน้า mysite.war
  5. ทำรายการไดเรกทอรีดูไดเรกทอรี / mysite ให้หายไป
  6. เปลี่ยนชื่อ mysite.www เป็น mysite.war
  7. ทำรายการไดเรกทอรีโดยเฝ้าดู / ใหม่ mysite ที่จะสร้าง

หากคุณลองอัปโหลดไฟล์ใหม่เป็นไฟล์ war โดยที่ tomcat ยังคงทำงานอยู่ไฟล์นั้นจะพยายามขยายก่อนที่จะหมด มันจะล้มเหลว หากล้มเหลวจะไม่ลองอีกครั้ง ดังนั้นการอัปโหลดไฟล์ www จากนั้นเปลี่ยนชื่อไฟล์จะอนุญาตให้ไฟล์ War ทั้งไฟล์ปรากฏขึ้นก่อนที่ tomcat จะสังเกตเห็น

คำแนะนำอย่าลืมตรวจสอบว่าเจ้าของไฟล์สงครามเป็นแมวตัวผู้ (ใช้ chown)


2
ขณะนี้อาจทำงานในกรณีพิเศษมันไม่ได้เป็นขั้นตอนการยกเลิกการใช้งาน / การปรับใช้ที่ถูกต้อง mysite.www จะสร้างบริบทใหม่ถ้า autodeploy = "true" และการลบ mysite.war จะลบบริบท mysite ภายใต้เงื่อนไขปกติหลายประการ การอ้างอิงที่ดีที่สุดคือTomcat Web Application การปรับใช้
user250343

4

หากคุณติดตั้ง tomcat7 โดยใช้apt-getใน linux ให้ปรับใช้แอปของคุณ/var/lib/tomcat7/webapps/

เช่น.

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

นอกจากนี้ให้ปรับแต่งบันทึก Tomcat เพื่อให้คุณสามารถตรวจสอบได้ว่าแอปของคุณกำลังสร้างความสงบสุขด้วย Tomcat

tail -f /var/lib/tomcat7/logs/catalina.out

แอปพลิเคชันที่ปรับใช้ควรปรากฏขึ้น http://172.16.35.155:8080/manager/html


2


1. สร้างไฟล์สงครามจากแอปพลิเคชันของคุณ2. เปิดผู้จัดการ Tomcat ลงไปที่หน้า
3. คลิกที่เบราส์เพื่อปรับใช้สงคราม
4. เลือกไฟล์สงครามของคุณ ไปแล้ว!


2

สำหรับการปรับใช้ไฟล์สงครามบน tomcat ทำตามขั้นตอนด้านล่าง:

  1. หยุดแมวตัวผู้ powershell-> services.msc-> OK-> Apache Tomcat 8.5-> stop (ทางซ้ายมือ)

ป้อนคำอธิบายรูปภาพที่นี่

  1. ใส่ไฟล์. war ภายใน E: \ Tomcat_Installation \ webapps เช่นโฟลเดอร์ webapps ie put.war (put.war เป็นเพียงตัวอย่าง)

ป้อนคำอธิบายรูปภาพที่นี่

  1. หลังจากเริ่มต้น tomcat (เพื่อเริ่มต้น tomcat powershell-> services.msc-> OK-> Apache Tomcat 8.5-> start)

คุณจะได้รับหนึ่งโฟลเดอร์ภายใน E: \ Tomcat_Installation \ webapps ** ใส่ **

ป้อนคำอธิบายรูปภาพที่นี่

ด้วยวิธีนี้คุณสามารถปรับใช้ไฟล์สงครามของคุณใน Apache Tomcat


1

ทำตามขั้นตอนต่อไปนี้:

  • หยุด Tomcat
  • คลิกขวาที่โครงการและคลิกที่ "ทำความสะอาดและสร้าง"
  • ไปที่ไดเรกทอรีโครงการของคุณและในโฟลเดอร์ Dist คุณจะได้ไฟล์ war ที่คุณคัดลอกบน tomcat ของคุณ
  • โฟลเดอร์ webApp
  • เริ่มต้นแมวตัวผู้
  • แยกไฟล์ war อัตโนมัติและเรียกใช้โครงการของคุณ

1

ฉันทำตามคำแนะนำในลิงค์ต่อไปนี้มันใช้งานได้สำหรับฉัน http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. หยุด Tomcat

  2. ลบบันทึกทั้งหมดในtomcat / logsและไฟล์ทั้งหมดในtomcat / conf / Catalina / localhost

  3. ลบไฟล์ war และไดเรกทอรีที่สร้างขึ้น (ถ้าเป็น) จากtomact / webapps

  4. เริ่ม Tomcat

  5. ในขณะที่ดูบันทึกให้คัดลอกไฟล์ war ไปยังไดเรกทอรี webapps อีกครั้ง

หลังจากนี้ให้จับตาcatalina.xxxx-xx-xx.logเพื่อค้นหาปัญหา


1
นี่ไม่ใช่ขั้นตอนการเลิกใช้งาน / การปรับใช้ที่ไม่ถูกต้องเนื่องจากมันรบกวนไฟล์ที่ Tomcat จัดการโดยเฉพาะ การอ้างอิงที่ดีที่สุดคือTomcat Web Application Deployment
user250343
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.