服务器
目录
服务器
服务器概述
Tomcat
虚拟主机和web应用
服务器概述
1、服务器概述
服务器是用来存放web资源的容器,同时web资源可以分为:静态web资源和动态web资源。
静态web资源:每一个用户看到的内容都相同, 这些资源称之为静态web资源。
动态web资源:每一个用户看到内容不相同,这些资源称之为动态web资源。
2、服务器介绍
服务器有软件服务器和硬件服务器之分。所谓软件服务器指的是tomcat这一类的软件。硬件服务器是指的是真实存在的物理服务器。
3、服务器软件介绍
WebLogic是BEA公司的产品,是目前应用最广泛的web服务器,支持J2EE规范,而且不断的完善以适应新的开发要求
另一个常用的Web服务器是IBM公司的WebSphere,支持J2EE规范,启动界面如图
在小型的应用系统或者有特殊需要的系统中,可以使用一个 免费的Web服务器:Tomcat,该服务器支持全部JSP以及Servlet规范,启动界面如图
Tomcat
1、Tomcat的安装
解压tomcat压缩包即可。
2、启动Tomcat
在tomcat/bin目录下双击starup.bat文件,启动tomcat服务器。
在启动之后,窗口保留在桌面,最后显示一个毫秒值,则证明tomcat启动成功。
在浏览器端访问localhost:8080可以看到tomcat首页。
如果启动闪退:
1) 原因一:JAVA_HOME环境变量名称不合法。
2) 原因二:JAVA_HOME包保存的jdk路径无效。tomcat依赖于jdk。
3) 原因三:端口被占用。net stop https,netstat -ano查看端口号对应的pid打开任务管理器,关闭80或8080对应的pid进程。
4) 原因四:tomcat安装路径中不允许出现中文和空格。否则会导致不必要的错误。
3、Tomcat目录结构
bin---存储tomcat启动和关闭的脚本文件的目
conf---存储tomcat配置文件的目录
lib---存储tomcat依赖的jar包的目录
logs---存储tomcat启动和运行过程中的日志的目录
temp---存储tomcat临时文件的目录
webapps---存储tomcat运行时所需的web资源的目录
work---tomcat工作目录,在运行页面时产生工作文件。
虚拟主机和web应用
1、虚拟主机概念
在一个真实的服务器中,运行着多个网站,这些网站在用户看来是运行在各自独立的服务器当中,但是真实的情况却是运行在同一个服务器中。这些网站可以称之为主机,由于网站没有运行在各自的服务器中,所以可以把这些主机称之为虚拟主机。一个网站就是一台虚拟主机。
2、web应用概念
由于虚拟主机无法直接管理web资源,所以将web资源放入虚拟主机管理目录中的一个子目录内。这个目录管理同一功能的web资源,多个功能不同的web资源放入不同的目录中。一般情况下,web应用会根据功能划分,一个功能一个web应用。
3、web应用
1)web应用是一个目录,其中存放一个功能的全部web资源。(动态和静态的).在一个虚拟主机中,可以包含多个这样的目录。web应用全称叫做web应用目录。
2)web资源:
静态资源:HTML、IMG、CSS、JS、jQuery
动态资源:Servlet/jsp
3)web是网页的意思。需要将web内容放在Internet网络中,才能被其他互联网中的用户访问。所以web应用也需要这样做。
4)web应用被访问的方法:提供web应用的虚拟路径。
5)虚拟路径必须要映射在真实的web应用目录身上,这样在地址栏中访问虚拟路径的时候,才会得到对应的web资源。
4、web应用虚拟路径的创建方式:
第一种:在server.xml中找到<Host>标签,在其中添加一个,其中path存储虚拟路径,docBase存储真实路径。
<Context path="" docBase=""/>
第二种:在conf/Catalina/localhost目录中添加一个以虚拟路径命名的.xml文件。文件中存储web应用的真实路径。书写内容如下
注意:由于虚拟路径是xml文件的名称,window中不允许使用"/"命名文件,所以如果虚拟路径中存在多级路径,可以通过"#"来分割。
<Context docBase="真实路径" />
第三种:在webapps目录中添加一个子目录,这个目录的名称就是虚拟路径的名称。
5、缺省web应用
1)一个web应用可以配置为缺省web应用, 这样在访问缺省web应用的时候,就不用书写web应用的虚拟路径名称。
2)配置方式:
第一种:在server.xml中找到<Host>标签,在其中添加一个<Context path="" docBase=""/>path中不需要书写任何内容,这时当前web应用就会作为缺省使用。
第二种:在conf/Catalina/localhost目录中添加一个以虚拟路径命名的.xml文件。作为缺省web应用,需要将文件名配置为ROOT.xml
第三种:在webapps目录中添加一个子目录,这个目录的名称就是虚拟路径的名称。 并且名称必须叫做ROOT.
3)缺省优先级:
server.xml > conf/Catalina/localhost > webapps
6、web应用目录结构
web应用
|
|---存放静态web资源,此处存放的静态web资源可以被直接访问
|
|---WEB-INF
|--- 静态web资源 此处存放的静态web资源不可以被直接访问。
|---lib 当前web应用所依赖的jar包
|---classes 存放动态资源的目录
|---web.xml 用于配置当前web应用,可以配置缺省主页,servlet映射,监听器和过滤器。
注意:一个web应用的目录结构可以不完整,但是如果要构建完整web应用,则需要严格遵循上述结构。
7、web.xml文件
web.xml是一个web应用的配置文件,可以在这个文件中配置web应用的缺省主页,servlet映射以及监听器和过滤器。
1)所有web应用中的web.xml文件都会自动继承conf/web.xml文件。
2)添加缺省主页:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
8、虚拟主机
虚拟主机就相当于是一个网站。
配置虚拟主机:
1)在Server.xml文件中的<Engine>标签下添加一个<Host>标签,这个标签代表一个新的虚拟主机。内容如下:
<Host name="www.baidu.com" appBase="baidu">
</Host>
注意:如果添加配置之后出错,检查logs文件或检查刚刚的配置信息。
2)配置www.baidu.com映射在当前的主机之上。
修改hosts文件:文件路径:C:\Windows\System32\drivers\etc\hosts
修改hosts文件的意义:需要将www.baidu.com的ip地址指向本机,在浏览器访问域名时,hosts文件可以将域名解析成对应的ip地址。
3)在地址栏中输入www.baidu.com进行测试
4)缺省虚拟主机
在使用ip地址访问对应的服务器时,无法判断当前请求的是哪一个虚拟主机。只能使用缺省虚拟主机提供服务。配置如下:
<Engine name="Catalina" defaultHost="www.baidu.com">
<Host>有这些属性:
属性 | 描述 | 必需? |
className | 默认为org. apache.catalina.core.StandardHost | 否 |
appBase | web应用程序文件存放的位置,相对路径为CATALINA_HOMEM | 是 |
autoDeploy | 设为true,则web.xml发生变化时,tomcat自动重新部署程序。实现这个功能必需允许后台处理 | 否 |
name | virtual host的名称 | 是 |
backgroundProcessingDelay | 跟Engine中的backgroundProcessingDelay类似 | 否 |
deployOnStartup | 若为true,则当这个Engine启动时,tomcat将自动部署这个host,默认为true | 否 |
deployXML | 这个属性的目的是为了提高tomcat的安全性,控制web应用程序是否能使用META-INF/contex.xml。如果设为false,则各应用程序只能访问 $CATALINA_HOME/conf/<engine>/<host>/<app>.xml。默认值为True。 | 否 |
errorReportValveClass | 定义host使用的error-reporting Valve,默认值为 org.apache.catalina.valves.ErrorReportValve | 否 |
unpackWARs | tomcat在webapps文件夹中发现war文件时,是否自动将其解压 | 否 |
workdir | tomcat使用这个目录来放工作着的servlet和jsp(以servlet形式),这里面的servlet都是是编译好的class文件。默认为$CATALINA_HOME/work | 否 |
9、杂项
1)查看ip地址:在cmd窗口书写ipconfig。
2)打war包:
指令压缩打包:jar -cvf news.war *.
压缩打包:将文件压缩为zip格式的压缩包即可。
总结:四个缺省
缺省端口 | :80 |
缺省web应用 | ROOT |
缺省主页 | inex.html |
缺省虚拟主机 | defaultHost |
缺省配置练习
建立一个www.google.com的网站,配置为缺省虚拟主机。网站中有两个应用,news 和email。为两个应用配置缺省主页,并把email配置为缺省web应用。
现在我们可以通过www.google.com来访问我们的网站了,访问到的第一个页面是我们email 的缺省主页
修改域名www.google.com/news访问到的是我们news的缺省主页。