Tomcat安装,多实例搭建及案例

Tomcat安装,多实例搭建及案例

未分类


  • cat zt | grep -A 10 过滤出以后向前显示10行 
    cat zt | grep -B 10 向后 
    cat zt | grep -C 10 向前向后个显示10行
  • printf “%x ” 937 
    把PID937转换为16进制
  • strace -p PID 追踪PID号的线程
  • jstack:装Tomcat肯定得装JDK,就会有jstack命令。用来精确定位出错的代码段
  • tomcat特点:最占内存的,内存够,运行速度就快
  • Tocat是java的容器,运行的是java代码
  • linux默认是有python的,而没有java 
    tomcat默认监听8080端口
  • 在通过浏览器访问时需要指定端口进行访问
  • java的压缩叫war包,打包命令叫jar。php的压缩包叫tar,打包命令叫tar。
  • 网页目录(webapps)下的ROOT目录不能删除,其它都能删除,以及ROOT下的所有文件及目录都能删除
  • 如果访问网页文件时不想看见子目录,那么就把这个网页文件放到webapps下的ROOT目录中。把网页文件放到ROOT目录中,就相当于没有任何路径
  • tomcat和PHP有个区别 
    当tomcat的网页目录有更新,必须重启服务器,tomcat有很大的缓存。 
    而PHP则不用重启服务器
 

一.安装

tomcat需要安装java的环境,也就是需要安装java

 

1.1准备

(1)JDK下载(java环境):http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
Tomcat下载:http://tomcat.apache.org/ 
(2)二进制包 
4.png-7.4kB

 

1.2安装JAVA

 

1.2.1解压(二进制包直接解压不用编译),并作软连接

5.png-11.3kB

 

1.2.2添加环境变量

sed -i.ori '$a export JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
6.png-120.2kB
7.png-9.2kB
至此java安装完成

 

1.3安装tomcat

 

1.3.1解压,作软连接

8.png-5.8kB

 

1.3.2修改环境变量

echo 'export TOMCAT_HOME=/usr/local/tocat' >> /etc/profile 
source /etc/profile 
9.png-14.9kB
10.png-19.5kB

 

1.3.3用yum安装命令

11.png-18kB

12.png-17.5kB

14.png-264.1kB
除了ROOT目录之外的都可以删除,ROOT里的东西也可删除。ROOT里的东西是Tomcat的web管理端的文件,它的管理端是有漏洞的,黑客容易对其进行入侵,在工作中一般不用

 

1.3.4启动tomcat

/usr/local/tomcat/bin/startup.sh 
15.png-19.7kB
关闭防火墙service iptables stop 
关闭安全机制setenforce 0 
自此Tomcat启动成功

 

1.4通过浏览器访问

16.png-148.5kB

 

1.5查看配置文件17.png-196.8kB

 

1.5.1tomcat有个默认的管理功能(工作中虽然不用,但要尝试配置一次)

vim tomcat-users.xml

18.png-21.1kB
之后保存退出

重启tomcat 
/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 
19.png-24.5kB

 

1.5.2在浏览器登陆

20.png-268.7kB

21.png-498.6kB
这就是tomcat管理端。当然在工作中不经常用

 

 

2.1.1tomcat主配置文件server.xml

23.png-97.4kB

 

2.1.2端口

24.png-92.9kB

 

2.1.3 8005端口演示

25.png-92.6kB
可以远程操作tomcat服务。所以得修改它的端口

 

修改

8005端口 
26.png-63.4kB
8080监听端口 
27.png-43kB
8009端口 
28.png-33.4kB
重新启动服务,8009端口会消失 
29.png-6.4kB
引擎及IP访问时的默认网站 
conf/server.xml 
31.png-61.7kB

 

三,web站点部署

 

3.1.1修改配置文件,并重启服务

32.png-51.2kB
重启服务

 

3.1.2

33.png-59.8kB

 

3.1.3

34.png-5.7kB

35.png-14.8kB
会发现它自动出现目录(将war包自动进行解压缩),如果没有,那么就重新启动tomcat服务

36.png-28.7kB

 

3.1.4在浏览器进行访问

37.png-7.7kB
38.png-42.8kB
至此java的web服务器就部署好了

 

但是访问的时候是访问的子目录

39.png-61.4kB
方法(1): 
40.png-11.9kB
41.png-27.1kB

 

四.tomcat多实例部署

 

4.1.1

42.png-22.9kB

 

4.1.2 修改配置文件

43.png-77kB

47.png-20.5kB

46.png-9.9kB

45.png-11.7kB

44.png-11.4kB
每个实例的端口都不能一致

 

修改另一个实例的配置文件。

除了端口不能一致,其它的都一样

为什么设置两个多实例的网页目录一致? 
因为在工作当中web服务器看的是同一个网页代码,只不过是分成了多个web服务器。这里设置为同一个网页目录相当于起到了多实例负载均衡的效果

 

之后重新启动两个多实例tomcat服务

启动多实例tomcat服务 
48.png-24.8kB
49.png-9.6kB

 

启动tomcat服务

64.png-73.8kB

 

通过浏览器访问

51.png-20.4kB
52.png-22kB
53.png-24kB
至此多实例完成

 

五.tomcat集群

相当于tomcat前方加了nginx作反向代理 
Nginx配置文件中注意的 
54.png-31.5kB

 

六.tomcat安全优化和性能优化

 

6.1 安全优化(必做)

最重要的为一下4项 
(1)降权启动(用普通用户启动tomcat) 
(2)telent管理端口保护(8005端口。要改成别的) 
(3)ajp连接端口保护(8009端口。注释掉或者删除掉) 
(4)禁用管理端(web界面,不用它的web管理界面。清空ROOT下的所有东西,webapps中要保留ROOT目录,其它的留不留无所谓)

  • 降权启动 
    55.png-252.7kB

  • 管理端口保护 
    56.png-142.7kB

 

6.2性能优化(重要的几个)

 

6.2.1屏蔽DNS的查询(DNS反向解析会影响效率)

57.png-124.2kB

 

6.2.2 JVM调优(最重要)

主要是对tomcat的堆栈内存作优化 
58.png-133.7kB
59.png-576.4kB

 

企业案例Linuxjava/http进程高的解决方案

61.png-206.4kB

62.png-78.2kB

 

步骤

 

(1)先用top命令过滤出哪个进程导致的问题(找出占用CPU最高的进程号)

64.png-73.8kB

 

(2)查看这个进程所有的系统调用(再找出是哪个PID号的线程导致的)

streace -p PID 
65.png-64.3kB
如果是937线程有问题,那么就用到 
printf “%x ” 937 是把937转换成16进制(在内存中的都是16进制)

 

(3)之后再用jstack

66.png-86.2kB
67.png-547.1kB
下来把这些内容打印给开发,他就知道是哪的问题

 

七.使用Tomcat部署Jpress

 

7.1 获取安装包及解压,增加环境变量

1.png-10.1kB
2.png-24.7kB

 

7.2 将jpress-web-newest.war包放到Tomcat网站根目录下

3.png-25kB

 

7.1 在浏览器输入访问进行安装(需要mysql)

4.png-73.9kB

7.png-63.7kB

原文地址:https://www.cnblogs.com/zhangtao11/p/9996094.html