ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

中间件tomcat

2022-08-17 15:31:13  阅读:218  来源: 互联网

标签:xml tomcat local 中间件 usr root localhost


1.什么是中间件
中间件(英语:Middleware):是系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件在客户服务器的操作系统、网络和数据库之上,管理计算资源和网络通信。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

关于中间件,我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。中间件是一类软件统称,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作。


2.中间件的特点
满足大量应用的需要
运行于多种硬件和OS平台
支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互
支持标准的协议
支持标准的接口
3.常见的中间件
tomcat
apache或hpptd
jetty
jboss
webloigc
websphere
一般本地开发的话常使用tomcat
linux系统常使用jetty或apache hpptd
大型的项目就用JBOSS或webloigc

我们经常管中间件叫做中间服务器,也可以叫做应用服务器。通常情况下一次web的访问顺序是:web浏览器——web服务器——web容器——应用服务器——数据库服务器。

3.1tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

tomcat就是传说中的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。

tomcat应用场景:
一般本地开发的话常使用tomcat。
适用于lnmt

3.2jetty
Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

3.3jboss
jboss是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术

3.4webloigc
WebLogic服务器是企业级的应用服务器,支持EJB, 集群以及 ERP(企业资源计划)的连通性 ,开发公司:BEA。

3.5websphere
websphere产品系列是IBM公司一套典型的电子商务应用开发工具及运行环境。

4.tomcat项目部署

4.1 java环境安装

# 安装jdk环境
[root@localhost ~]# dnf -y install java-latest-openjdk-devel.x86_64 java-latest-openjdk.x86_64
#查看安装的版本
[root@localhost ~]# java -version
openjdk version "18.0.1" 2022-04-19
OpenJDK Runtime Environment 22.3 (build 18.0.1+10)
OpenJDK 64-Bit Server VM 22.3 (build 18.0.1+10, mixed mode, sharing)
#下载tomcat,我已经提前下好,直接通过xftp传过来的
[root@localhost ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.65.tar.gz
[root@localhost ~]# mv apache-tomcat-9.0.65.tar.gz /usr/src/
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
apache-tomcat-9.0.65.tar.gz  debug  kernels
#解压部署
[root@localhost src]# ls
apache-tomcat-9.0.65.tar.gz  debug  kernels
[root@localhost src]# tar xf apache-tomcat-9.0.65.tar.gz -C /usr/local/[root@localhost src]# ls
apache-tomcat-9.0.65.tar.gz  debug  kernels
[root@localhost src]# cd /usr/local/
[root@localhost local]# ls
apache-tomcat-9.0.65  etc    include  lib64    sbin   src
bin                   games  lib      libexec  share
[root@localhost local]# ln -s apache-tomcat-9.0.65/ tomcat
[root@localhost local]# ll
总用量 0
drwxr-xr-x. 9 root root 220 8月  16 05:55 apache-tomcat-9.0.65
drwxr-xr-x. 2 root root   6 5月  19 2020 bin
drwxr-xr-x. 2 root root   6 5月  19 2020 etc
drwxr-xr-x. 2 root root   6 5月  19 2020 games
drwxr-xr-x. 2 root root   6 5月  19 2020 include
drwxr-xr-x. 2 root root   6 5月  19 2020 lib
drwxr-xr-x. 3 root root  17 6月  29 01:01 lib64
drwxr-xr-x. 2 root root   6 5月  19 2020 libexec
drwxr-xr-x. 2 root root   6 5月  19 2020 sbin
drwxr-xr-x. 5 root root  49 6月  29 01:01 share
drwxr-xr-x. 2 root root   6 5月  19 2020 src
lrwxrwxrwx. 1 root root  21 8月  16 05:57 tomcat -> apache-tomcat-9.0.65/
#写一个hello world的java页面
[root@localhost ]# vi index.jsp

<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
            out.println("Hellow World");
        %>
</body>
</html>
[root@localhost local]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# mkdir test
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  test
[root@localhost webapps]# cd test/
[root@localhost local]# mv index.jsp /usr/local/tomcat/webapps/test/
[root@localhost ~]# cd /usr/local/tomcat/webapps/test/
[root@localhost test]# ll
总用量 4
-rw-r--r--. 1 root root 141 8月  16 05:59 index.jsp


#启动tomcat
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost ~]# ps -ef|grep tomcat
root       10564       1 17 06:11 pts/0    00:00:04 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/localtomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       10596    1646  0 06:12 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# ss -antl
State  Recv-Q Send-Q      Local Address:Port Peer Address:Port Process
LISTEN 0      128               0.0.0.0:22        0.0.0.0:*
LISTEN 0      1      [::ffff:127.0.0.1]:8005            *:*
LISTEN 0      100                     *:8080            *:*
LISTEN 0      128                  [::]:22           [::]:*

 

 

 

[root@localhost ~]# cd /usr/local/tomcat/conf
[root@localhost conf]# ls
Catalina             jaspic-providers.xml  tomcat-users.xml
catalina.policy      jaspic-providers.xsd  tomcat-users.xsd
catalina.properties  logging.properties    web.xml
context.xml          server.xml
[root@localhost conf]# vi tomcat-users.xml   #修改这个文件
...省略
<!--
  The sample user and role entries below are intended for use with the
  examples web application. They are wrapped in a comment and thus are ignored
  when reading this file. If you wish to configure these users for use with the
  examples web application, do not forget to remove the <!.. ..> thatsurrounds
  them. You will also need to set the passwords to something appropriate.
-->
<role rolename="manager-gui"/>   #把这两行添加到此处,但是要注意不要加到注释区域里面去了,意思是可以用网页访问管理界面,以及登录的账号密码
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
...省略
# 上面设置以后只能本地访问,还需要做一下操作
[root@localhost ~]# cd /usr/local/tomcat/webapps/manager/META-INF
[root@localhost META-INF]# ls
context.xml
[root@localhost META-INF]# vim context.xml # 添加访问的网段
<Valve className="org.apache.catalina.valves.RemoteAddrValve"         
allow="192\.168\.6\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
[root@localhost ~]# cd /usr/local/tomcat/webapps/host-manager/META-INF #这个目录下的也要改

  [root@localhost META-INF]# ls
  context.xml
  [root@localhost META-INF]# vim context.xml

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
  allow="192\.168\.6\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

[root@localhost ~]# cd /usr/local/tomcat/conf
[root@localhost conf]# ls
Catalina             jaspic-providers.xml  tomcat-users.xml
catalina.policy      jaspic-providers.xsd  tomcat-users.xsd
catalina.properties  logging.properties    web.xml
context.xml          server.xml
[root@localhost conf]# vim server.xml  # 找到此内容,取消注释

         Define an AJP 1.3 Connector on port 8009

    <Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="8443" />
# 重启注释
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost ~]# ss -antl
State  Recv-Q Send-Q      Local Address:Port Peer Address:PortProcess
LISTEN 0      128               0.0.0.0:22        0.0.0.0:*
LISTEN 0      1      [::ffff:127.0.0.1]:8005            *:*
LISTEN 0      100                 [::1]:8009         [::]:*
LISTEN 0      100                     *:8080            *:*
LISTEN 0      128                  [::]:22           [::]:*

 

 

 

 

 

 

 

标签:xml,tomcat,local,中间件,usr,root,localhost
来源: https://www.cnblogs.com/sunyiming023654/p/16590082.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有