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 From: https://www.cnblogs.com/sunyiming023654/p/16590082.html