代码改变世界

在Ubuntu中使用Tomcat的小tips

2006-09-05 15:10  FantasySoft  阅读(2705)  评论(1编辑  收藏
      上个星期,从Windows转到了Ubuntu这个很cool的Linux平台上,用了一个星期,感觉还真不错。使用Gaim上MSN,使用Firefox浏览网站,还装了个LumaQQ来玩,整体跟Windows就没啥区别了。即使是Word文档的操作,使用OpenOffice的Word Processor也能够胜任,当然它的功能与MS Word还是有很大的差距,这也令我切实感受到为什么Office能够成为MS最赚钱的产品了。

      好了,言归正传。由于项目要使用WebWork,那么Tomcat这个Servlet容器自然少不了。Tomcat的下载与安装都是很简单的,无非就是选择tar.gz版本下载然后解压缩即可。为了运行Tomcat,我们应该选择.sh的shell文件:./startup.sh。在运行过程中,你可能会碰到这样的错误:touch: 无法 touch “/home/[主文件夹名]/tomcat-5.5.17/logs/catalina.out”: No such file or directory。引发这个错误的原因是解压缩之后,少掉了logs这个目录,你只要使用mkdir命令创建一个名为logs的目录即可。

      以上这两个是小问题了,参考提示信息是很容易解决的,而另外一个问题则花费了一些功夫。如果你一直在Windows下使用Tomcat,那么你一定会知道:在运行Tomcat的时候,会弹出新的控制台窗口,然后相关的服务器状态信息以及程序运行过程中输出的信息都会在这个新窗口中显示出来。但是到了Linux,自带的shell文件并不会打开一个新的终端窗口,这使得一些Linux新手(包括我)调试程序的时候遇到不少麻烦。这个问题该如何解决呢?

      首先,我们得知道那些在Windows的控制台中显示的信息到现在都跑到哪里去了。这个问题不难,就在logs目录的两个文件中,一个是catalina.out,一个则是localhost.[日期].log。原来在默认的情况下,Tomcat在Linux中是将信息输出到日志文件中了。这样一来,我们就有解决办法了,要么改变信息的输出方式,要么就想办法监测那两个日志文件。最后,我选择了后者,具体的做法很简单:使用tail命令加上f参数即可,其中f参数的含义就是“即时输出文件变化后追加的数据”。具体的命令为:tail -f catalina.out。