2

如何在启动时以不同的用户启动 Tomcat?我尝试了以下命令,但它提示输入密码。

su -c "/etc/tomcat/bin/catalina.sh start" tomcat

我正在使用 Tomcat 7.0.40 和 Ubuntu 12.04。

4

2 回答 2

2

创建一个配置文件tomcat.conf并将其放在/etc/init

/etc/init包含 Upstart 使用的配置文件

tomcat.conf类似于以下几行(注意:JAVA_HOMEand替换CATALINA_HOME为您自己的):

description "Tomcat Server"

  start on runlevel [2345]
  stop on runlevel [!2345]
  respawn
  respawn limit 10 5

  # run as non privileged user 
  # add user with this command:
  ## adduser --system --ingroup www-data --home /opt/apache-tomcat apache-tomcat
  # Ubuntu 12.04: (use 'exec sudo -u apache-tomcat' when using 10.04)
  setuid apache-tomcat
  setgid www-data

  # adapt paths - Replace with your Paths:
  env JAVA_HOME=/usr/lib/jvm/jdk1.7.0_13/
  env CATALINA_HOME=/home/mohammed/apache-tomcat-7.0.27/

  # adapt java options to suit your needs:
  env JAVA_OPTS="-Djava.awt.headless=true -Xms512M -Xmx1024M -server -XX:+UseParallelGC"

  exec $CATALINA_HOME/bin/catalina.sh run

  # cleanup temp directory after stop
  post-stop script 
    rm -rf $CATALINA_HOME/temp/*
  end script
于 2013-05-14T20:16:15.507 回答
0

使用JSVC,阅读Tomcat JSVC 手册或简单地安装包tomcat7

于 2013-05-14T19:14:30.677 回答