|
http://tomcat.apache.org/tomcat-7.0-doc/logging.html
http://tomcat.apache.org/
catalina[kætə'li:nə] 就是Tomcat服务器使用的 Apache实现的servlet容器的 名字。
Catalina是太平洋中靠近洛杉矶的一个小岛。因为其风景秀丽而著名。最近曾被评为全美最漂亮的小岛。
设计者估计是想把tomcat设计成最美的轻量级容器吧
(1)Web容器---处理静态页面;
(2)catalina --- 一个servlet容器-----处理servlet;
(3)还有就是JSP容器,它就是把jsp页面翻译成一般的servlet。安装相关软件:
yum install java -y
yum install tomcat -y
#安装默认Tomcat根页面(tomcat-webapps)和Tomcat Web应用程序管理器和Virtual Host Manager(tomcat-admin-webapps)
yum install tomcat-webapps tomcat-admin-webapps -y
#防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
#systemctl stop firewalld.service
#启动tomcat服务
systemctl enable tomcat
systemctl restart tomcat
ps aux |grep tomcat
netstat -anpt | grep java
然后在浏览器里刷http://ip:8080 就可以看到tomcat的页面了
如何看到自定义页面,也就是部署web应用 ( 三种方式 )
将文件直接放置到webapps目录下的子目录中是无法使用的,原因是tomcat默认加载的是jsp文件,且需要文件配置,在webapps下创建子目录,此处以test、test22为例
http://ip:8080/test/2.jsp
http://ip:8080/test22/22.jsp
测试页面
tomcat-1
Session serviced by tomcat
Session ID
Created on
Now time is:
最重要的Tomcat的文件位于/usr/share/tomcat
/usr/share/tomcat/conf/tomcat.conf
/usr/share/tomcat/webapps
/var/log/tomcat#日记
/etc/tomcat/server.xml
两个tomcat中比较重要的概念(通常也是两个系统变量)——CATALINA_HOME和CATALINA_BASE:
- CATALINA_HOME:即指向Tomcat安装路径的系统变量
- CATALINA_BASE:即指向活跃配置路径的系统变量
通过设置这两个变量,就可以将tomcat的安装目录和工作目录分离,从而实现tomcat多实例的部署。
Tomcat 的连接器有两种:HTTP和AJP
版本更新到Tomcat 8.x,Apache Tomcat 7.x是目前开发的焦点
Linux服务器上的tomcat进程卡死(进程中包含Java和tomcat6.0.3信息)请写下手工杀掉此进程的操作步骤及命令。
三种工作模式
bio(blocking I/O):(Tomcat7 或以下,在 Linux 系统中默认使用这种方式)
nio(new I/O):
apr(Apache Portable Runtime/Apache可移植运行时)
三个端口
Server port端口8080:提供web服务的
Connector port 端口8005:管理端口
AJP port端口8009:第三方服务调用端口(如:httpd和Tomcat结合时会用到)
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
Java性能优化原则:
代码运算性能、内存回收、应用配置(影响Java程序主要原因是垃圾回收,下面会重点介绍这方面)
代码层优化:避免过多循环嵌套、调用和复杂逻辑。
Tomcat调优主要内容如下:
1、增加最大连接数
2、调整工作模式
3、启用gzip压缩
4、调整JVM内存大小
5、作为Web服务器时,与Apache整合或Nginx
6、合理选择垃圾回收算法
7、尽量使用较新JDK版本"
设置不显示项目名称
修改 Tomcat 安装目录 conf 文件夹下 server.xml, 在 节点下,增加
其中 path 就是 要显示的项目名,这里是不显示,docBase 就是项目所在的路径。
不支持restart
Tomcat服务安全加固
Server Status,Manager App,Host Manager
右边的三个按钮,分别表示进入服务器状态,管理服务器上部署的应用,管理主机界面。
tomcat-users.xml控制用户和登录权限
在tomcat-users.xml加入下面的role,再创建一个user,重启服务器输入下面创建的用户名和密码就可以进入管理页面了
//对应第二个按钮权限
//对应第三个按钮权限
nginx 解决session共享问题(jvm-route)方式(其实没有真正解决共享问题)
jvm_route的原理
这个模块通过session cookie的方式来获取session粘性。如果在cookie和url中并没有session,则这只是个简单的round-robin 负载均衡。
jvm_route的原理(from 作者 Weibin Yao):
1. 一开始请求过来,没有带session信息,jvm_route就根据round robin的方法,发到一台tomcat上面。
2. tomcat添加上session 信息,并返回给客户。
3. 用户再此请求,jvm_route看到session中有后端服务器的名称,它就把请求转到对应的服务器上。
暂时jvm_route模块还不支持默认fair的模式。jvm_route的工作模式和fair是冲突的。对于某个特定用户,当一直为他服务的tomcat宕机后,默认情况下它会重试max_fails的次数,如果还是失败,就重新启用round robin的方式,而这种情况下就会导致用户的session丢失。
总的说来,jvm_route是通过session_cookie这种方式来实现session粘性,将特定会话附属到特定tomcat上,从而解决session不同步问题,但无法解决宕机后会话转移问题。
监控
1、使用jdk自带的工具监控tomcat服务器
2、Tomcat管理页面
3、elk监控catalina.out
catalina.out文件以每天进行分割,这样产生的文件就会以每天进行产生
定时清理7天前的Tomcat日志脚本
4、开源监控工具zabbix等
http://www.mamicode.com/info-detail-1851076.html
|
|
|
|
|
|
|