欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点

程序员文章站 2024-01-25 16:00:40
...


Nginx加tomcat的动静分离架构已经在下面这篇博文里面讲过,此处不再赘述!
https://blog.csdn.net/weixin_44571270/article/details/102939666

本博文主要对tomcat的基础知识做回顾!及其配置易错点,tomcat多实例做讲解!

一、认识tomcat

1、Tomcat是一款开源的、免费的WEB服务器软件,跟Apache、Nginx WEB服务器功能一样的,都是用于发布网站代码,提供网页信息服务,用户通过浏览器可以实现页面的访问。

2、Tomcat WEB软件是Apache基金会旗下的,Tomcat软件基于JAVA语言开发的,主要是用于发布静态网页(htm、html、xml)+动态网页(jsp:JAVA Server Page),JSP动态网页是基于JAVA语言开发的。
(1)静态网页
静态网页内容是跟后端数据库不发生交互的,其网页内容很少更新或者几乎不更新,网页文件命名后缀一般是以.htm、.html、.xml等结尾的。
(2)动态网页
动态网页内容是跟后端数据库发生交互的,其网页内容经常更新或者随着后端数据库内容变化而更新,网页文件命名后缀一般是以.asp、.php、.jsp等结尾的。
3、Nginx WEB软件官方宣称其处理静态网页的并发请求5w/s,为什么还需要部署Tomcat WEB软件呢?
(1)Nginx只能处理静态网页,不能直接处理动态网页;
(2)Tomcat可以处理静态网页,可以处理JSP动态网页;
(3)Tomcat处理静态网页的性能不行,是Nginx性能1/5-10;
(4)动静分离架构中,Nginx处理静态网页,Tomcat只处理动态网页。

二、我们有了php,为什么还需要tomcat?

1、现在的网站基本上都不用asp去建站了,要么是jsp或者php,所以我们需要学会对这两种网页进行解析,jsp(java server page)网页是用javascript写的,php是用php写的。

2、我们的tomcat可以用来解析jsp动态网页,php会用来解析php动态网页。

3、tomcat对于大型企业来说,基本上就和php是一样的用途,都是只用来解析动态网页,只不过tomcat相较于php来说,还可以用来解析静态网页,只不过性能低下,大型企业一般不会这样做。

注:因为tomcat和php是一样的用途,所以,nginx+tomcat也可以做动静分离、负载均衡、NFS代码托管、mysql主主、主从,等等。例如下面这道题:

部署1台Nginx WEB前端服务器(不能跟Tomcat公用);
2)部署2台Tomcat独立服务器;
3)部署2台MYSQL主主同步架构; 
4)每台服务器部署4个Tomcat实例(每两个为一个网站),通过两个域名v1.jf.com(默认代码)|v2.jf.com访问(jforum代码); 
//第四步,是实现服务器间交叉部署网站,在nginx上负载均衡到tomcat服务器,即使一台服务器挂了,另外一台服务器还可以接着工作,两个网站还可以正常访问
5)部署1台NFS文件共享服务器,网站代码统一存放在NFS服务器;
6)通过亿图或者Visor将架构图画出来。 
7)以上服务器再不影响使用的情况下,可以共用。
//需要考虑Nginx和tomcat端口冲突的问题

可以参考lnmp的部署架构图,只不过把php换成tomcat而已!链接如下:
https://blog.csdn.net/weixin_44571270/article/details/103394005

三、一体化部署与分离式部署

注意nginx、tomcat、mysql它们之间全部进行一体化部署时,不存在任何问题,若有进行分离式部署的,则一定要改后端的监听ip

以nginx、tomcat、mysql都分别在不同的服务器上为例。
首先全部的防火墙、SELinux都要关闭。如果你是云服务器则需要在安全组中添加开放的端口,及允许相应服务器ip。

然后后端的tomcat和mysql都需要改监听ip,从localhost或者127.0.0.1改成实际物理网卡ip。
tomcat:

vim /opt/tomcat/conf/server.xml 

Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点将localhost改成172.16.193.200

mysql:

vim /etc/my.cnf

Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点
注:当出现php或者tomcat不能解析,就可以看看是否需要改监听ip,当数据库不能连接,就可以看看是否需要改监听ip

四、tomcat多实例

1、启两个tomcat进程

mkdir /opt/tomcat-1
\cp -ar /opt/tomcat/* /opt/tomcat-1/
/opt/tomcat-1/bin/startup.sh
ps -ef|grep tomcat

Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点由上图可知确实有两个tomcat进程。

2、发现两个tomcat端口监听是一样的

ss -luntp | grep java

Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点但是我们发现,它们监听的端口还是一样的,这样耦合度太高。我们需要修改其中一个tomcat的三个监听端口。

3、为降低耦合度,修改其中一个的监听端口

 vim /opt/tomcat-1/conf/server.xml 

Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点注:最好每一个端口在原来的端口上加1即可。

4、终结tomcat所有进程,再启动两个tomcat

pkill java

Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点再打开两个tomcat:

/opt/tomcat-1/bin/startup.sh
/opt/tomcat/bin/startup.sh

ss查看:
Tomcat入门及其多实例介绍,一体化及其分离式的配置易错点到此为止我们的tomcat多实例就做完了。利用多实例可以更方便的完成负载均衡。