中间件基础

中间件基础

独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源.位于客户机/服务器的操作系统之上,关键途径是传递信息。
**web中间件:**web中间件用于提供系统软件和应用软件之间的连接,以便于软件各部件之间的沟通,其可以为一种或多种应用程序提供容器。
作用:用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑的运行于不同平台上。
**web服务器:**提供http服务。
**web容器:**用于给处于其中的应用程序组件提供一个环境,是中间件的一部分,它实现了对动态语言的解析。比如Tomcat可以解析JSP,是因为其内部有一个JSP容器。
注意:web中间件与web服务器是有重叠的,原因在于Tomcat等web中间件也具备web服务器的功能。
web服务器只是提供静态网页解析,或者提供跳转的这么一种服务。而web中间件可以解析动态语言,比如Tomcat可以解析jsp(因为Tomcat含有jsp容器),当然他们也可以解析静态资源,因此他们即使web中间件也是web服务器。不过Tomcat解析静态资源的速度不如Apache,因此常常两者结合使用。
常用中间件
IIS简介
是一种web服务组件,包括web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使的在网络上发布信息成了一件很容易的事。
IIS的优势:
模块化的网络核心允许用户增加和删除特定的功能。如果要使用服务器统计构件,仅需几个模块。
一个统一标准的http管道,它对应于本地管理方面的应用程序。用户可以对经典的ASP网页使用基于窗口的认证系统。
用户可以建立自己的ihttpmodule以及ihttphandles,并且把他们插入到统一的管道。
新款分布式的XML设置系统,他利用了ASP.net的设置系统的优点。
改善的诊断和问题解答机制,包括了新runtime状态以及跟踪功能。
新型可扩展,面向任务的管理员用户界面。
Apache简介
特点:
特性:简单、速度快、性能稳定、可配置(代理)
主要用于解析静态文本,并发性能高,侧重于http服务;
支持静态页(HTML),不支持动态请求如:CGI、SERVLET/JSP、PHP、ASP等;
具有很强的可扩展性,可以通过插件支持PHP,还可以单向Apache连接Tomcat实现连通;
Apache是世界使用排名第一的web服务器。
Tomcat简介
Tomcat是Java开发的一个符合JavaEE的servlet规范的JSP服务器(servlet容器),是Apache的扩展。
Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普通使用,是开发和调试JSP程序的首选
特性:
免费的Java应用服务器
主要用于解析JSP/servlet,侧重于servlet引擎;
支持静态页,但效率没有Apache高;支持servlet、JSP请求;
Tomcat本身也内置了一个http服务器管理工具实现与Apache整合。
Jboss简介
Jboss是全世界开发者共同努力的结果,一个基于J2EE的开源的应用服务器。JBOSS代码遵循LGPL许可,可以在任何商业应用中免费使用。
JBOSS是一个管理EJB的容器和服务器,支持EJB1.1、EJB2.0、EJB3的规范。但JBOSS核心服务不包括支持servlet/JSP的web容器,一般与Tomcat或jetty绑定使用。
特性:
Jboss是免费的,开放源代码J2EE的实现,它通过LGPL许可证进行发布。
Jboss需要的内存和硬盘空间比较小
安装非常简单。先解压缩Jboss打包文件在配置一些环境变量就可以了;
Jboss能够“热部署”,部署BEAN只是简单拷贝BEAN的jar文件部署路径不就可以了。如果没有加载就加载它;如果已经加载了就卸载掉,然后load这个新的
Jboss与web服务器在同一个Java虚拟机中运行,servlet调用EJB不经过网络,从而大大提高了效率,提升安全性能
用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和WEB-WAR
weblogic简介
webserver是用来构建网站的必要软件用来解析发布网页等功能,它用纯Java开发的。weblogic本来不是有bea发明的,是它从别人手中买过来,然后再加工扩展。目前weblogic在世界application server市场上占有最大的份额,其他还有像IBM的websphere,免费的Tomcat、resin等中间件。
特性:
BEA weblogic server具有开发和部署关键任务电子商务web应用系统所需的多种特色和优势。
领先的标准
无限的可扩展性
快速发展
部署更趋灵活
关键任务可靠性
体系结构
Nginx简介
Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件代理服务器,并在BSO-like协议下发行。其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用Nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
特点:
作为web服务器,Nginx处于静态文件、索引文件,自动索引的效率非常高
作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度
作为负载服务器,Nginx即可以在内部直接支持rails和PHP,也可以支持http代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡
在性能方面,Nginx是专门为性能优化而开发的,实现上非常注重效率。它采用内核poll模型,可以支持更多的并发链接,最大可以支持对5万个并发链接数的响应,而且只占用很低的内存资源
在稳定方面,Nginx采取了分阶段资源分配技术,使得CPU与内存的占用率非常低
在高可用性方面,Nginx支持热部署,启动速度特别迅速,因此可以在不间断服务服务的情况下,对软件版本或者配置进行升级,即使运行数月也无需重新启动,几乎可以做到7x24小时不间断的运行。

IIS实验过程

修改IP

第一步:打开IIS服务,右击默认站点,点击属性。
在这里插入图片描述

第二步:把IP地址改为本机ip,点击确定。
在这里插入图片描述

第三步:在IIS根路径下创建文本文档,编辑内容。
在这里插入图片描述

第四步:在火狐浏览器中输入本机IP和文本文档名。
在这里插入图片描述

修改端口

第一步:修改端口号,点击确定。
在这里插入图片描述

第二步:在火狐浏览器中输入本机IP和文本文档名。
在这里插入图片描述

修改主目录路径

第一步:点击“主目录”,修改本地路径,下面红色框里面全部选中,点击确定。
在这里插入图片描述

第二步:在修改后的本地路径中新建文本文档。
在这里插入图片描述

第三步:在火狐浏览器中输入本机IP和文本文档名。
在这里插入图片描述

新建文本文档进行访问

第一步:在IIS下面新建文本文档,
在这里插入图片描述

第二步:在火狐浏览器中输入本机IP和文本文档名。
在这里插入图片描述

添加目录浏览

第一步:在IIS根目录下新建文件夹,把建好的文本文档放进文件夹中。
在这里插入图片描述

第二步:在火狐浏览器中输入本机IP和文件夹名。
在这里插入图片描述

第三步:点击1.TXT,就会出现里面的内容。

添加默认文档路径去访问

第一步:点击文档,选择添加,输入要添加的文本文档名,点击确定然后点击上移,直至最顶端。点击确定。
在这里插入图片描述

第二步:在火狐浏览器中输入本机IP。
在这里插入图片描述

身份验证

第一步:点击目录安全性,点击编辑。
在这里插入图片描述

第二步:取消匿名访问,选中集成Windows身份验证,点击确定。
在这里插入图片描述

第三步:在火狐浏览器中输入本机IP和文本文档名。
在这里插入图片描述

第四步:登录以后就可以查看文本文档。
在这里插入图片描述

限制IP访问

第一步:点击编辑,点击添加,输入所要拒绝的IP,点击确定。
在这里插入图片描述

第二步:在火狐浏览器中输入本机IP和文本文档名。

在这里插入图片描述

Apache实验过程

建立文档

第一步:打开phpstudy服务,在C:\phpStudy\WWW目录下创建文本文档。
在这里插入图片描述

第二步:重启服务后在火狐浏览器中输入本机IP和文本文档名。
在这里插入图片描述

修改路径

第一步:在C:\phpStudy\Apache\conf\http.conf下修改路径。
在这里插入图片描述

第二步:在修改后的路径下创建AAA文件夹里面创建A.txt文本文档。
在这里插入图片描述

第三步:重启服务后在火狐浏览器中输入本机IP。
在这里插入图片描述

第四步:点击A.txt就会查看里面的内容。

修改默认文档

第一步:在C:\phpStudy\Apache\conf\http.conf下修改文档,添加A.txt文档。
在这里插入图片描述

第二步:重启服务后在在浏览器输入ip。
在这里插入图片描述

Tomcat实验过程

增加未授权访问

第一步:在C:\apache-tomcat-7.0.57-windows-x86\apache-tomcat-7.0.57\conf\tomcat-users.xml路径下,添加红色框里面的内容。
在这里插入图片描述

第二步:重启服务后在在浏览器输入ip和对应端口号。
在这里插入图片描述

第三步:点击确定就可以看到Apache内容。

Jboss怎么进行授权访问

为JBoss jmx-console增加验证,给JBOSS5.1GA jmx-console添加相关帐号管理。操作如下:

JMX安全配置

第一步:找到
%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉对下面这段xml文本的注释。

Xml代码

<jboss-web>   
<security-domain>java:/jaas/jmx-console</security-domain>   
</jboss-web> 

第二步:与jboss-web.xml同级目录下还有一个文件web.xml,找到下面这段xml文本,取消注释。

Xml代码

 <security-constraint>   
    <web-resource-collection>   
    <web-resource-name>HtmlAdaptor</web-resource-name>   
    <description>An example security config that only allows users with the   
    role JBossAdmin to access the HTML JMX console web application   
    </description>   
    <url-pattern>/*</url-pattern>   
    <http-method>GET</http-method>   
    <http-method>POST</http-method>   
    </web-resource-collection>   
    <auth-constraint>   
    <role-name>JBossAdmin</role-name>   
    </auth-constraint>   
    </security-constraint>   

第三步: 在第一步中的jmx-console安全域和第二步中的运行角色JBossAdmin都是在login-config.xml中配置,我们在 % JBOSS_HOME%/server/default/conf/login-config.xml文件可以看到以下配置,

Xml代码

   <application-policy name = "jmx-console">   
    <authentication>   
    <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"   
    flag = "required">   
    <module-option name="usersProperties">props/jmx-console-users.properties</module-option>   
    <module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>   
    </login-module>   
    </authentication>   
    </application-policy> 

文件props/jmx-console-users.properties定义了用户名、密码;props/jmx-console-roles.properties定义了用户所属角色

注:
jmx-console-users.properties 格式是:用户名=密码明文
jmx-console-roles.properties 格式是:用户名=角色1,角色2,角色3

可以找到这两个文件,修改用户名和密码。

二、WEB-CONSOLE的安全配置
第一步: 找到%JBOSS_HOME%/server/default/deploy/ management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,去掉对以下xml文本的注释。

Xml代码

   <jboss-web>   
    <depends>jboss.admin:service=PluginManager</depends>   
    </jboss-web>  

第二步: 与jboss-web.xml同级目录下还有一个文件web.xml,找到下面这段xml文本,取消注释。

Xml代码

 <security-constraint>   
    <web-resource-collection>   
    <web-resource-name>HtmlAdaptor</web-resource-name>   
    <description>An example security config that only allows users with the   
    role JBossAdmin to access the HTML JMX console web application   
    </description>   
    <url-pattern>/*</url-pattern>   
    <http-method>GET</http-method>   
    <http-method>POST</http-method>   
    </web-resource-collection>   
    <auth-constraint>   
    <role-name>JBossAdmin</role-name>   
    </auth-constraint>   
    </security-constraint>

第三步: % JBOSS_HOME%/server/default/conf/login-config.xml文件可以看到以下配置:

Xml代码

  <application-policy name = "web-console">   
    <authentication>   
    <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"   
    flag = "required">   
    <module-option name="usersProperties">web-console-users.properties</module-option>   
    <module-option name="rolesProperties">web-console-roles.properties</module-option>   
    </login-module>   
    </authentication>   
    </application-policy>  

上面提到的两个文件在%JBOSS_HOME%/server/default/deploy/ management/console-mgr.sar/web-console.war/WEB-INF/classes文件夹下,你可以修改其中的用户名和密码,格式和上面的两个properties文件中的一样。
启动服务输入http://localhost:8080/jmx-console 和http://localhost:8080/web-console测试安全机制 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值