tomcat部署项目

方式一、自动部署(最常用)

直接把war包或部署的文件夹放到webapps下。

tomcat启动后会自动监听webapps下的文件|目录,放入打包好的项目会自动部署,移除打包好的项目会自动卸载,在已部署的项目中新增文件、删除文件、修改文件,都会自动同步,无需重启tomcat。

方式二、xml文件部署

conf下新建文件夹Catalina,Catalina下新建文件夹localhost,localhost下新建一个xml文件,在xml文件中配置部署信息。

方式三、控制台部署

tomcat首页 -> Manager App


Tomcat账户配置

 
第一、二项需要的都是manager-gui权限:
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

第三项需要admin-gui权限:

<role rolename="admin-gui"/>
<user username="tomcat" password="s3cret" roles="admin-gui"/>

在conf/tomcat-users.xml中配置用户:

<?xml version="1.0" encoding="UTF-8"?>

<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0"> <role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="chy" password="abcd" roles="manager-gui,admin-gui"/> </tomcat-users>

tomcat状态监测

点击第一项Server Status:

主要关注3个点:

  • JVM中3个年代对象的内存占用
  • ajp的使用情况。ajp协议负责与其它web容器通信(apache、tomcat、nginx等)
  • http的使用情况。http协议负责与客户端建立连接,接收客户端的请求、返回响应。

ajp、http的最大线程数是可以设置的,默认值都是200,这个要根据机器的性能、并发量综合来考虑|设置。

点击第二项Manager App:

4个关注的点:

  • 一行即一个web应用,/xx是映射路径,点击可转到该应用的首页。

  前5个对应tomcat自带的5个webapp,/对应root应用,这5个组成了tomcat的控制台,如果不使用控制台,可以将这5个项目删掉,提升tomcat的启动速度、减少tomcat的资源占用。

  • 可以部署项目
  • 可以启动、停止、重新加载、卸载某个webapp
  • 可以设置session的过期时间,默认是30min。

  session过期是指session闲置30min,就会被删除,失去该session中的全部数据。

  session钝化是指session有效期内(session未过期),某些session闲置时间达到指定值(比如5min),就序列化到硬盘,需要时反序列化到内存,恢复。和session过期不是一个概念。

session的过期时间也可以在conf/web.xml中配置:

  <!-- ==================== Default Session Configuration ================= -->
<!-- You can set the default session timeout (in minutes) for all newly -->
<!-- created sessions by modifying the value below. --> <session-config>
<session-timeout></session-timeout>
</session-config>

以上代码是conf/web.xml中的默认配置。控制台修改session的过期时间,实质是修改web.xml中的配置。

Tomcat 项目部署、账户配置、状态监测的更多相关文章

  1. linux系统tomcat项目部署和tomcat访问日志

    一.只用ip地址访问 先把端口号改成80,然后用 <Host name="localhost"  appBase="webapps"    137     ...

  2. Tomcat项目部署问题记录

    Tomcat项目部署问题记录 1. -bash: ./startup.sh: Permission denied 问题: 新装tomcat后,执行启动命令会出现 -bash: ./startup.sh ...

  3. ide的tomcat的部署和配置

    关于intellij ide的tomcat的部署和配置   1.下载zip版的Tomcat 7,并解压.下载地址 2.在IDEA中配置Tomcat 7 在idea中的Settings(Ctrl+Alt ...

  4. Tomcat项目部署的三种方法

    第一种方法如下:直接把我们的项目文件夹放到tomcat里面,在这里我自己做的是一个测试项目oa,如图 启动tomcat,打开浏览器,输入localhost/oa  即可打开你的文件,注意 :访问的时候 ...

  5. Tomcat项目部署方式

    一.静态部署 1.直接将web项目文件件拷贝到webapps 目录中      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.所以可以将JS ...

  6. Javaweb Tomcat 项目部署方式

    一.静态部署 1.直接将web项目文件件拷贝到webapps 目录中     Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.所以可以将JSP ...

  7. Tomcat服务部署及配置

    Tomcat服务部署 1.环境准备 systemctl stop firewalld setenforce 0 2.安装jdk cd /opt 将jdk和tomcat软件包拖入当前目录下进行解压 rp ...

  8. 写了个关于tomcat项目部署脚本 shell

    #!/bin/bash tomcat_project_path=" /server/tomcat" tomcat_cp_path="/root/tools/apache- ...

  9. 解释Eclipse下Tomcat项目部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)

    配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径.在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一个tomcat,通过启 ...

随机推荐

  1. httpClient爬虫

    package httpClient.client; import java.io.File; import java.io.IOException; import java.io.InputStre ...

  2. spring cloud oauth2搭建认证中心与资源中心

    一 认证中心搭建 添加依赖,如果使用spring cloud的话,不管哪个服务都只需要这一个封装好的依赖即可 <dependency> <groupId>org.springf ...

  3. springboot-mybatis配置问题

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题

  4. python实现一个客户端与服务端的通信

    函数介绍 Socket对象方法: 服务端: 函数 描述 .bind() 绑定地址关键字,AF_INET下以元组的形式表示地址.常用bind((host,port)) .listen() 监听TCP,可 ...

  5. Java并发编程(二):volatile关键字

    volatile是Java虚拟机提供的轻量级的同步机制.volatile关键字有如下两个作用,一句话概括就是内存可见性和禁止重排序. 1)保证被volatile修饰的共享变量对所有线程总是可见的,也就 ...

  6. C#中? 和 ??的区别

    背景 最近在调试C#项目的时候,发现一个比较关于??的特殊用法,当时把我给惊到了,所以特意用这篇短短的笔记来记录一下我的解惑过程: 示例代码: showsomething(isNameNull ?? ...

  7. 使用Gradle自动创建Java项目结构

    D:\N3verL4nd\Desktop\java>tree 卷 本地磁盘 的文件夹 PATH 列表 卷序列号为 00000200 0006:08B0 D:. ├─.gradle │ ├─3.4 ...

  8. Codeforces_842

    A.枚举一个区间,判断是否有数符合. #include<bits/stdc++.h> using namespace std; long long l,r,x,y,k; int main( ...

  9. Codeforces_812

    A. 每条人行道有六条车道会撞到. #include<bits/stdc++.h> using namespace std; ],b[],c[],d[]; int main() { ios ...

  10. CCF_201604-3_路径解析

    没有用stack来写,直接用了字符串和指针,过程有点复杂的.首先对读入的每一个路径,判断它是绝对路径或者相对路径,然后确定起始的路径,然后继续一位位的判断,"//","/ ...