touch:无法触及“/usr/share/tomcat7/logs/catalina.out”:没有此文件或目录

touch:无法触及“/usr/share/tomcat7/logs/catalina.out”:没有此文件或目录

我在从终端启动 tomcat 时遇到问题。sudo apt-get install tomcat7几天前,我使用 - 安装了 tomcat。现在,当我使用以下命令启动它时,出现以下错误:

~/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

现在它根本就没有启动。:(

答案1

使用软件包安装时tomcat7,您需要使用 upstart ( service tomcat start) 或/etc/init.d/tomcat脚本来启动和停止 Tomcat。如果您使用脚本来启动它,startup.sh那么它的环境变量很可能配置不正确。

请参阅我对您上一个问题的回答(应如何安装 Apache Tomcat 7 以便与 Eclipse 一起使用?) 以找到更好的安装 Tomcat 的方法(如果您不想将其作为服务运行)。

答案2

只需像这样创建丢失的文件夹:

sudo mkdir /var/tomcat/logs

然后像这样再次运行 tomcat:

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

该消息本身是不言自明的,如果您不知道 Unix/Linux 文件系统的层次结构以及它如何工作,我强烈建议您开始观看一些教程。

答案3

就我而言,我遇到了类似的问题,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

答案4

我遇到了同样的问题,并使用以下命令修复它:

sudo mkdir /usr/share/tomcat7/logs/
sudo touch /usr/share/tomcat7/logs/catalina.out
sudo chown -R tomcat: /usr/share/tomcat7/ 

其中“tomcat”是您的 Tomcat 用户

sudo systemctl daemon-reload
sudo systemctl start tomcat

相关内容