以非root用户身份以tomcat身份启动和closures

如何以非root用户身份启动,closures和重新启动tomcat。 我在Ubuntu机器上安装了tomcat5.x(usr / share / tomcat)。 tomcat目录具有完整的权限。 当我像普通用户一样closures(/usr/share/tomcat/bin/shudown.sh)或启动(/usr/share/tomcat/startup.sh)tomcat时,它正常启动和closures,就好像它是以root用户身份执行一样但是即使以非root用户身份启动tomcat,我也无法访问网页。

user1 @ station2:/ usr / share / tomcat / webapps $ ../bin/shutdown.sh

使用CATALINA_BASE:/ usr / share / tomcat

使用CATALINA_HOME:/ usr / share / tomcat

使用CATALINA_TMPDIR:/ usr / share / tomcat / temp

使用JRE_HOME:/ usr

2010年10月4日6:41:11 PM org.apache.catalina.startup.Catalina stopServer

严重:Catalina.stop:

java.net.ConnectException:连接在java.net.PlainSocketImpl.socketConnect处被拒绝(Native方法)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) at java.net.Socket.connect(Socket.java:546) at java.net.Socket.connect(Socket.java:495) at java.net.Socket.<init>(Socket.java:392) at java.net.Socket.<init>(Socket.java:206) at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:421) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:337) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415) 

在Ubuntu上的Tomcat存储在/ etc / tomcat *下的configuration。 普通用户可能没有对所有configuration文件的读取权限(例如/etc/tomcat6/tomcat-users.xml)。 如果你想运行tomcat作为testing/开发的普通用户,我build议下载tomcat二进制发行版,然后解压缩到$ HOME下的某个目录下。 然后运行bin / startup.sh,就完成了。 这也为您节省了为每个tomcatconfiguration更改运行sudo的麻烦。

顺便说一句,如果你没有对Tomcat5的具体要求,我build议使用更新的版本(Tomcat6 / Tomcat7)。