touch: ไม่สามารถสัมผัส `/usr/share/tomcat7/logs/catalina.out ': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว


8

ฉันมีปัญหาในการเริ่มต้นโพงจากเทอร์มินัล ฉันติดตั้งโพงโดยใช้ - sudo apt-get install tomcat7สองสามวันหลัง ตอนนี้เมื่อฉันเริ่มมันโดยใช้คำสั่งด้านล่างฉันได้รับข้อผิดพลาดดังต่อไปนี้:

~/tomcat7/bin$ sudo ./startup.sh

Using CATALINA_BASE:   /usr/share/tomcat7  
Using CATALINA_HOME:   /usr/share/tomcat7  
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp  
Using JRE_HOME:        /usr   
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory  
./catalina.sh: 389: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent

ฉันไม่สามารถเข้าใจสิ่งที่ผิดพลาด ฉันสามารถเข้าถึง - http://localhost:8080เมื่อฉันติดตั้ง แต่จากนั้นฉันรันคำสั่งเพื่อปิดการใช้งานการเริ่มต้นในเวลาบูต:

sudo update-rc.d tomcat remove

และตอนนี้มันยังไม่เริ่มเลย :(


แน่ใจหรือไม่ว่าคุณกำลังใช้งาน Tomcat จากแพ็คเกจ Ubuntu ฉันไม่คิดอย่างนั้น ... ดูเหมือนว่าคุณได้ติดตั้งอีกอันจากต้นน้ำ (ใน~/tomcat7?) เนื่องจากอันหนึ่งจาก Ubuntu จะไม่เขียนไฟล์บันทึกไปยัง/usr/share/tomcat7/logsแต่ไปยังที่/var/logอื่น คุณไม่ได้ตั้งใจจะรัน Tomcat แบบนี้service tomcat startเหรอ?
gertvdijk

@gertvdijk โอ้ที่รัก! มันใช้งานได้แล้ว ดูเหมือนว่าแมวตัวผู้ถูกติดตั้งเป็นบริการ ขอบคุณ
Rohit Jain

@gertvdijk ฉันมีคำถามอีกหนึ่ง ตอนนี้ฉันกำลังพยายามปรับใช้ไฟล์สงคราม ฉันคัดลอกไว้ใน - /usr/share/tomcat7/webappsไดเรกทอรี แต่เมื่อฉันเข้าหน้ามันแสดงข้อผิดพลาด 404 จากนั้นฉันย้ายไฟล์สงครามไปที่ - /var/lib/tomcat7/webappsนอกจากนี้ยังแสดงข้อผิดพลาดเดียวกัน ฉันจะปรับใช้สงครามอย่างไร หากคุณต้องการฉันสามารถโพสต์เป็นคำถามอื่น
Rohit Jain

@gertvdijk ในขณะเดียวกันคุณสามารถเพิ่มความคิดเห็นของคุณเป็นคำตอบ ฉันจะยอมรับมัน ขอบคุณ :)
Rohit Jain

โปรดอย่าถามคำถามใหม่ในความคิดเห็น ถามคำถามใหม่โดยกดปุ่ม "ถามคำถาม" ที่ด้านบนของหน้า
gertvdijk

คำตอบ:


5

เมื่อติดตั้งโดยใช้tomcat7แพ็คเกจมันตั้งใจให้คุณเริ่มต้นและหยุด Tomcat โดยใช้ upstart ( service tomcat start) หรือ/etc/init.d/tomcatสคริปต์ หากคุณเริ่มต้นโดยใช้startup.shสคริปต์ก็มีโอกาสที่จะมีการกำหนดค่าตัวแปรสภาพแวดล้อมอย่างไม่ถูกต้อง

โปรดดูคำตอบของฉันสำหรับคำถามก่อนหน้านี้ ( ฉันจะติดตั้ง Apache Tomcat 7 เพื่อใช้กับ Eclipse ได้อย่างไร ) สำหรับวิธีที่ดีกว่าในการติดตั้ง Tomcat หากคุณไม่ต้องการเรียกใช้เป็นบริการ


ตกลง. ฉันคิดว่าฉันควรติดตั้ง Tomcat ส่วนตัวแทน ฉันสามารถทำ - apt-get purge tomcat7ถอนการติดตั้งอันก่อนหน้าได้หรือไม่?
Rohit Jain

@RohitJain No. apt-getจัดการแพ็คเกจ Ubuntu ไม่ใช่ไฟล์ที่คุณติดตั้งจากแหล่งอื่น ศึกษา README / INSTALL หรือเอกสารอื่น ๆ พร้อมกับซอร์สอัพสตรีมของอินสแตนซ์อื่นที่คุณติดตั้ง โปรดหลีกเลี่ยงการเรียกใช้ซอฟต์แวร์จากแหล่งที่มาหากมีแพ็คเกจของ Ubuntu อย่างที่คุณเห็นคุณจะทำให้การจัดการระบบของคุณทำได้ยากขึ้น
gertvdijk

@gertvdijk ฉันติดตั้งโดยใช้apt-get install tomcat7เท่านั้น ฉันจะถอนการติดตั้งแบบนี้ในกรณีนี้ได้ไหม
Rohit Jain

1

เพียงสร้างโฟลเดอร์ที่หายไปเช่นนี้

sudo mkdir /var/tomcat/logs

จากนั้นเรียกใช้ tomcat อีกครั้งเช่นนี้:

sudo sh /opt/apache-tomcat-{version}/bin/startup.sh

ข้อความนั้นอธิบายตนเองถ้าคุณไม่ทราบลำดับชั้นของ Unix / Linux File System และวิธีการทำงานฉันขอแนะนำให้คุณเริ่มดูบทแนะนำ


0

ในกรณีของฉันฉันพบปัญหาที่คล้ายกันและ tomcat7 จะไม่เริ่มทำงาน
เห็นได้ชัดว่า/var/log/tomcat7มีการลบโฟลเดอร์เนื่องจากกล่องรีบูต ...

นี่คือวิธีที่ฉันแก้ไข:

rwxrwxrwx 1 root    root      17 Feb 27  2014 logs -> ../../log/tomcat7
/var/log# mkdir tomcat7
/var/log/tomcat7# cd /etc/init.d/
/etc/init.d# ./tomcat7 start
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.