linux下关于tomcat的几个问题

来源:互联网 发布:大数据 思维变革 编辑:程序博客网 时间:2024/04/30 00:55

问题一:默认安装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属性。