昨晚一个人在公司,往服务器上提交了新的代码,重启服务器。居然没有启动成功,报错如下:

java.lang.Error: Start attempted while running as user [root]. Running Tomcat as this user has been blocked by the Lifecycle listener org.apache.catalina.security.SecurityListener (usually configured in CATALINA_BASE/conf/server.xml)
 at org.apache.catalina.security.SecurityListener.checkOsUser(SecurityListener.java:155)
 at org.apache.catalina.security.SecurityListener.doChecks(SecurityListener.java:143)
 at org.apache.catalina.security.SecurityListener.lifecycleEvent(SecurityListener.java:64)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
 at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
 at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
 at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
 at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
 at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
 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:606)
 at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)

上面的意思就是我linux的root账户没有权限启动tomcat。

是因为最近这些天阿里云提示服务器有安全隐患,老大把所有服务器的安全配置全调整了。

tomcat的启动权限做了修改,所以登录linux的时候使用root账户的话是没有办法启动tomcat的。

再配置一个tomcat账户就好了。具体配置的操作,网上很多,不粘贴了。

发表评论