最新发布 tomcat部署java项目直接端口访问,并部署多个项目

发布时间: 2023-08-14,浏览量:373

删除掉webapps下所有文件(为了安全),在根目录下 新建一个javaweb目录(与webapps同级),里面新建项目文件web1,web2,将项目分别放在web1,web2中


编辑/conf/server.xml文件

 <Service name="Catalina">   
    <Connector port="8100" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">     
      <Realm className="org.apache.catalina.realm.LockOutRealm">        
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false">
		  <Context path="" docBase="E:\apache-tomcat-8.5.82\javaweb\web1"  reloadable="true" />
		  <JspServlet enabled="false"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
  <Service name="Catalina1">   
    <Connector port="8200" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Engine name="Catalina1" defaultHost="localhost">     
      <Realm className="org.apache.catalina.realm.LockOutRealm">        
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false">
		  <Context path="" docBase="E:\apache-tomcat-8.5.82\javaweb\web2"  reloadable="true" />
		  <JspServlet enabled="false"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>

以上分别部署了两个网站,localhost:8100;localhost:8200



 性能调优编辑 bin/catalina.bat文件

将以下设置加入到文件中

最大内存根据服务器内存进行调整

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8

-server -Xms512m -Xmx1024m

-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m

-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

一、配置参数使用条件
 在不断重构代码的情况下,仍然不能解决内存溢出的问题(OutOfMemoryError等),这种情况下就需要使用JVM的配置参数对JVM运行时各个区域的内存情况进行相应的分配。
二、JVM存储数据的内容的内存分为
   ①堆区(Java堆:所有的线程共享该区域):通过new的方式创建的对象(一个类的实例)、数组所占的空间。
注意:1)堆区还细分为新生代(Eden空间、From Survivor空间、To Survivor空间)、老年代(Tenured Generation空间)。
2)Java垃圾回收机制只作用于堆区,对非堆区没有作用。
②非堆区:代码、常量、外部访问(比如流在传输数据时所占用的资源)等。 

三、常见的参数种类(配置内存)
(1)配置堆区的参数:-Xms、-Xmx、-XX:newSize、-XX:MaxnewSize、-Xmn
(2)配置非堆区的参数:-XX:PermSize、-XX:MaxPermSize

四、堆区参数配置
 (1)-Xms:Java虚拟机堆区内存初始内存分配的大小,按照实际情况进行分配(一般为操作系统可用内存的1/64大小)。
(2)-Xmx:Java虚拟机堆区内存可被分配的最大上限(一般为操作系统可用内存的1/4大小)。
注意:①一般-Xms、-Xmx两个参数会配置相同的值(优点:能够在Java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源)。
(3)-XX:newSize:新生代初始化内存的大小(注意:该值需要小于-Xms的值)。
(4)-XX:MaxnewSize:新生代可被分配的内存的最大上限(注意:该值需要小于-Xmx的值)。
(5)-Xmn:对-XX:newSize、-XX:MaxnewSize两个参数同时进行配置(注意:JDK1.4之后才有该参数)。 

五、非堆区参数配置
(1)-XX:PermSize:非堆区初始化内存分配大小。
(2)-XX:MaxPermSize:非堆区分配的内存的最大上限。


安装tomcat服务

在bin目录下运行cmd命令:service.bat install

移除 service.bat remove


热门文章 经典语录

热门文章 热门文章

查看更多