linux下关于tomcat的几个问题
问题一:默认安装tomcat后,它会随系统启动而自动启动。如何取消tomcat开机自动启动?
回答一:
利用linux的基本常识。于终端执行:
$runlevel
ubuntu的默认应用是N 2。
执行命令:
$ls /etc/rc2.d/
注意,rc后面的数值就与runlevel后面的数值一致。
我们可以从返回结果中发现如S92tomcat6的项,将它改为K08tomcat6 (保持:92+8=100),命令如下:
$sudo mv /etc/rc2.d/S92tomcat6 /etc/rc2.d/K08tomcat6
下次开机,tomcat将不自行启动。
问题二:利用/usr/share/tomcat6/bin下的shutdown.sh关闭tomcat,提示出错,信息如下:
-----------------开始---------------------
/usr/share/tomcat6/bin$ sh shutdown.sh
Using CATALINA_BASE: /usr/share/tomcat6
Using CATALINA_HOME: /usr/share/tomcat6
Using CATALINA_TMPDIR: /usr/share/tomcat6/temp
Using JRE_HOME: /usr/lib/jvm/java-6-sun
2009-10-4 13:45:39 org.apache.catalina.startup.Catalina stopServer
严重: Catalina.stop:
java.io.FileNotFoundException: /usr/share/tomcat6/conf/server.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:407)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:337)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
-----------------结束---------------------
回答二:
关闭错误的原因在于环境变量CATALINA_BASE配置有误,新立得或apt-get就将这个环境变量设置为:/var/lib/tomcat6
如果不改设置,可以用脚本来关闭tomcat,命令如下:
$sudo /etc/init.d/tomcat6 stop
如果在开启tomcat的时候出错.报错不存在logs,可以做如下操作
mkdir /usr/share/tomcat6/logs
这样就可以正常开启tomcat了.
如果tomcat正常启动,外网不能正常访问,可能是因为端口被关闭了.
输入如下命令
sudo ufw allow 8080/tcp
问题三:如何更改tomcat的默认端口?
回答三:
修改/var/lib/tomcat6/conf/server.xml文件中Connector元素的port属性。