Tomcat服务 JAVA web应用服务器

Tomcat是Apache软件基金会的jakarta项目中的一个核心项目,是一个开放源代码的Web应用服务器,属于轻量级的应用服务器,在各中小型系统或并发访问量不高的场景中应用非常普遍。具有处理HTML页面的功能,还是一个Servlet和JSP容器。

安装前:1、安装JAVA: yum install -y java-1.8.0-openjdk-devel.x86_64
                         java -version 验证查看是否安装成功JAVA 
      
        2、查看8080端口是否被占用:netstat -atunp |grep 8080
安装过程:
    1、上传tomcat到服务器
    2、解压tomcat软件到指定目录/usr/local/:
    tar -zxvf apache-tomcat-8.5.77.tar.gz -C /usr/local/
    3、设置软链接:
    ln -s /usr/local/apache-tomcat-8.5.77 /usr/local/tomcat(用绝对路径)
    4、调用批处理启动tomcat:
                          开启tomcat:./startup.sh
                          关闭tomcat:./shutdown.sh  
    5、查看端口和进程:lsof -i :8080
                       ps -ef |grep tomcat
            tomcat服务默认端口是8080 ,保证安装前未被占用           
    6、访问tomcat页面:192.168.31.136:8080        显示tomcat测试页面
wen.war
Tomcat优化    
1、Tomcat目录结构   
 /bin:脚本文件目录。(开启tomcat)
 /lib:tomcat运行需要的库文件
 /conf:存放配置文件,最重要的是server.xml。
 /logs:存放日志文件。
 /temp:Tomcat运行时候存放临时文件用的。
 /webapps:web应用发布目录。
 /work:存储JSP编译后的class文件的目录
    
2 配置文件
 server.xml:主要的配置文件。
  
 
   
     
     
                         unpackWARs="true" autoDeploy="true">
           
           
         
 
     

   

 

  server:代表整个tomcat容器,是整个配置文件中唯一一个最外层的元素。  
  service:作用是在connector和Engine外面包了一层,把它们组装在一起,对外提供服务,一个service可以包含多个connector,但只能包括一个Engine,其中connector是从客户端接收请求,Engine是处理接收来的请求。
  
  connector是接收连接请求,创建request和response对象用于和请求端交换数据。
  
  engine:只有一个Engine组件,它是service中的请求处理组件。从一个或多个connector中接收请求并处理,然后完成后的响应返回级connector,最终传给客户端。
  
  Host:是Engine的子容器。Engine组件中可以内嵌一个或多个Host组件,每个Host组件代表Engine中的一个虚拟主机。Host至少有一个,且其中一个的name必须与Engine组件的defaultHost属性匹配。
  
  context:代表在特定的虚拟主机上运行的一个应用,是Host的子容器,一个context代表一个WEB应用,每个Host可以自定义多个context元素。
  
  
优化:服务器系统优化、系统内核优化、网络优化、服务自身优化(并发优化、底层优化、集群化)
  /etc/security/limits.conf
  3、网络优化:                connectionTimeout="20000"
               redirectPort="8443"
               compression="on"       #开启压缩功能
               nocompressionUserAgents="gozilla,traviata" #对配置的浏览器不启用压缩
               />

  4、并发优化:(1)、连接数:maxConnetions(最大连接数)
               (2)、处理线程:maxThreads(最大线程数)
               (3)、等候对列:acceptCount(排队数量),指最大连接数已经满了的时候,允许多少请求排队
  
  maxThreads="500" 默认是200,生产环境中可取500-800
  minSpareThreads="100"  最小空闲线程数,默认是25
  maxQueueSize="100"  线程满时,最大允许等待的队列数,超过此配置则拒绝连接请求
 
46、lsof:用于查看进程打开的文件或文件打开的进程,也可用于查看端口是否为打开状态。lsof命令是系统核心命令,只有root用户才可以执行。
 lsof [选项]
      -c<进程名>  列出指定进程名打开的文件
      -g          列出GID号进程的详细信息
      -i<条件>    列出符合条件的进程
      -u          列出UID号进程的详细信息
      -p<进程号>  列出指定进程号所打开的文件
      
COMMAND  进程的名称
PID      进程的标识符
TID      线程标识符
USER     进程的所有者
FD       文件描述符
TYPE     文件类型
DEVICE   磁盘设备名称
SIZE/OFF 文件大小
NODE     索引节点
NAME     进程打开的文件名称

47、kill:用于删除执行中的程序或工作

kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数说明:

-l <信息编号>  若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
-s <信息名称或编号>  指定要送出的信息。
[程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。
使用 kill -l 命令列出所有可用信号。

最常用的信号是:

1 (HUP):重新加载进程。
9 (KILL):杀死一个进程。
15 (TERM):正常停止一个进程。

kill -9 PID

cronolog日志分割
添加到httpd.conf
Customlog "|/usr/local/sbin/cronolog logs/access_%d.log" combined
 

你可能感兴趣的:(tomcat,服务器,linux)