示例图

宝塔中通过java项目管理器实现tomcat多开。

环境CentOS7.9 Java JDK 1.8 Tomcat8.5

在java项目管理器中添加项目,选择独立环境,项目路径默认为/www/wwwroot下面

实际上tomcat的路径/www/server/tomcat_site中,

按照宝塔的思路,项目放/www/wwwroot的项目文件夹了,但是碰到加载不了项目,可能哪里还需要配置。

tomcat的server.xml文件中还有存在两个host,第二个指向/www/wwwroot的项目文件夹,这个好像导致了线程起了两个,

如果项目放tomcat_site里要第二个删除。

<Engine defaultHost="localhost" name="Catalina">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
      </Realm>
      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log" suffix=".txt" />
      </Host>
      <Host autoDeploy="true" name="yuming.com" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
        <Context crossContext="true" docBase="/www/wwwroot/yuming.com" path="" reloadable="true" />
      </Host>
    </Engine>

如果项目放/www/wwwroot/中

<Engine defaultHost="localhost" name="Catalina">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
      </Realm>
      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log" suffix=".txt" />
      </Host>
      <Host autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
        <Context crossContext="true" docBase="/www/wwwroot/yuming.com" path="/ppp" reloadable="true" />
      </Host>
    </Engine>

host里的name和path根据自己的需求修改。

默认tomcat没有配置内存信息,经过观察内存变化,大概占用将近1GB;

上网查询后linux的tomcat需要配置setenv.sh文件配置内存信息

配置是这样的:

export CATALINA_OPTS="$CATALINA_OPTS -Xms128m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx512m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

但是启动后报下面错误,不认这个参数

Invalid initial heap size: -Xms128m
Cannot create Java VM
Service exit with a return value of 1

多次试验后,有效的参数为:

export JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx512m"