常见的web服务器

1. WebLogic是BEA公司的产品,是目前应用最广泛的web服务器,支持J2EE规范(J2EE里有13种技术),商业产品,收费的。银行,证券等对并发,安全要求高的时候用,一般公司不用该服务器。

2. WebSphere  IBM公司开发的,支持J2EE规范。收费的,不过可以下载做学习用,不做商业用途时是不收费的。

3.Tomcat,apache,免费的,只支持J2EE规范的JSP以及Servlet规范,其他11种规范不支持。

tomcat启动常见问题:

1.闪退,tomcat是用java开发的,需要jvm的支持,如果系统环境变量没有配置java_home,就启不起来tomcat,会闪退

2.端口占用问题。tomcat默认是用8080端口的,如果8080端口已经被另外一个程序占用了,tomcat就启动不起来。所以如果启动了一个tomcat,就不能再开启另外一个tomcat,会出现端口占用问题。

  此时需要找出哪个应用程序占用了8080端口,可以使用Fport.exe小程序来查看或者使用360软件来查看。会列出所有程序的端口占用情况。然后再任务管理器中结束进程。

http协议的默认端口是80端口,开发中tomcat一般运行在8080上,发布时tomcat要运行在80端口上。可以在conf文件夹下的server.xml文件来修改默认的端口。网站发布时,要把tomcat的端口改为80 端口,这时启动tomcat会报错,因为Windows会启动iis服务,iis就占用80端口,此时如果在任务管理器中结束inetinfo进程,是结束不掉的。Windows服务会再次开启,此时该如何做呢???

我的电脑--右键---管理---服务和应用程序---把IIS Admin停止即可。启动类型改为手动,否则开机后又启动了。

这时候启动tomcat服务器就可以启动了。

注意:开发时不要改端口,上线部署的时候要改端口为80,不然浏览器访问的时候,都要加上端口号,80端口是http协议默认端口,访问的时候不用指定端口。

3.Catalina_home环境变量的设置问题

此环境变量用来告诉tomcat的启动程序要启动的tomcat在哪里。类比:java_home是告诉java在哪里

在环境变量里新建Catalina_home,值为tomcat的目录。一般不设置此环境变量。如果配置了此环境变量,就会启动catalina_home指定的那个tomcat。如果不配置此环境变量,点击哪个tomcat文件夹下的startup.bat就启动哪台服务器。

Tomcat的目录结构:

bin目录:存放启动和关闭tomcat的脚本文件

conf目录:存放tomcat服务器的各种配置文件。

lib目录:存放的是tomcat服务器的支撑jar包

logs目录:存放的是tomcat的日志文件,记录tomcat的运行信息,如果tomcat启动时候闪退,可以在日志里查看出问题的原因。

temp目录:存放tomcat运行时产生的临时文件

webapps目录:web应用所在的目录,即供外界访问的web资源存放的目录。

work目录:tomcat的工作目录。jsp翻译生成的servlet就放在这里。

web应用程序:指供浏览器访问的程序,也称为web应用。

web应用程序开发完后,要想被外界访问,需要把其web应用所在目录交给web服务器管理,称为虚拟目录的映射。

虚拟目录映射的三种方式:

1.在server.xml文件的host元素中配置。

  <Host   ...   >

    <Context path="/aa" docBase="c:\app">

  </Host>

  path是对外访问路径,docBase指定该应用所在的路径

  path称为虚拟目录。

  配置完要重启tomcat,浏览器访问:http://localhost:8080/aa/1.html

  映射缺省的web应用

  <Host   ...   >

    <Context path=""   docBase="c:\app">

  </Host>

  配置完要重启tomcat,浏览器访问:http://localhost:8080/1.html

  缺省的web应用只能有一个。

每个Context对应一个web应用,Context除了配置web应用,还可以配置其他一些资源,如数据库连接池,javamail等。

2.tomcat6中,不再建议在server.xml中对Context配置,因为每次配置都要重新启动tomcat服务器。

查看tomcat配置文档说明,Context有五种配置方式。

3.让tomcat自动映射,tomcat会自动管理webapps目录下的所有web应用,并把它映射成虚拟目录,也就是说tomcat服务器webapps目录下的web应用,外界可以直接访问。这是最快捷简便的方法,开发中基本都是使用这种方式。

webapps下面每个web应用的组织结构:

1.html,jsp,css,js文件一般放在web应用的根目录下,根目录下的文件外界可以直接访问。

2.java类,jar包,web应用的配置文件放在WEB-INF目录下,该目录下的文件外界无法直接访问,由web服务器负责调用。WEB-INF名字是固定的,不能换成其他名字。因为其实服务器来管理和维护的。

webapps

  |--news-------web应用所在目录

    |--html,jsp,css,js文件等(每一类可以单独建个文件夹存放)

    |--WEB-INF目录

      |---classes目录---java类

      |---lib目录--java类运行所需的jar包

      |---web.xml文件。--web应用的配置文件(可以参考tomcat目录中conf里的web.xml)

http://localhost:8080/news/1.html

设置首页:

可以在news应用的web.xml配置welcome-file-list  为/1.html.设置1.html为首页

  <welcome-file-list>

    <welcome-file>/1.html</welcome-file>

  </welcome-file-list>

此时的访问方式为:http://localhost:8080/news

设置缺省的web应用:

可以在tomcat的server.xml中配置Context 设置news为缺省的web应用。设置为缺省的web应用后,访问方式为:http://localhost:8080

WEB-INF目录下的文件是给服务器用的,如果在WEB-INF目录下放个html文件,外界是无法访问的。

配置虚拟主机:

在一个tomcat中可以放置多个网站,所谓配置虚拟主机,就是在tomcat服务器中配置一个网站

在tomcat的conf中的server.xml中可以配置多个<Host>主机,每个对应一个网站。

每个网站下面可以有多个web应用,比如sina的邮箱服务,体育等应用,可以通过Context来配置web应用

<Host name="www.xx.com" appBase="c:\sina">

  <Context path="/mail" docBase="c:\sina\mail" />

  <Context path="/sport" docBase="c:\sina\sport" />

</Host>

http://www.xx.com/mail/1.html       ---80端口也要修改下。

http://www.xx.com/sport/2.html

配置的主机www.xx.com要想被外界访问,必须在DNS服务器中注册。

web应用打包war,war压缩文件,tomcat服务器会自动解压。

<Context path="/mail" docBase="c:\sina\mail"  reloadable="true"/>

reloadable设为true,当web应用有修改的时候,会自动加载更新后的文件。但是一般不用这个功能, 因为程序一旦规模很大,修改很频繁,导致tomcat频繁的加载。

加密的连接器

tomcat服务器的管理平台:

http://localhost:8080  打开后有个Tomcat Manager,点击输入用户名,密码即可登录。

tomcat--conf---tomcat-users.xml  用来配置服务器的管理账号的。

为了安全,默认所有的账号角色都是注释掉的。

<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>

  <role rolename="manager"/>
  <user username="tomcat" password="tomcat" roles="tomcat,manager"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>

配置完后,重新启动tomcat。使用用户名:tomcat  密码:tomcat登录

后台里每个web应用的后面有个undeploy,点击它,会把应用的文件夹都删除掉,等同于直接删除web应用的文件夹。

  

Tomcat服务器的更多相关文章

  1. FineReport如何部署Tomcat服务器集群

    环境准备 Tomcat服务器集群中需要进行环境准备: Apache:Apache是http服务器,利用其对Tomcat进行负载均衡,这里使用的版本是Apache HTTP Server2.0.64: ...

  2. 用Maven部署war包到远程Tomcat服务器

    过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...

  3. Tomcat服务器进击

    一.Tomcat服务器端口配置更改 Tomcat的所有配置都放在conf文件夹之中,server.xml文件就是配置的核心文件. 现在呢,我们需要将8080端口设置成8088端口. 启动端口默认: & ...

  4. Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法

    我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很 ...

  5. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  6. Tomcat服务器本地的搭建,以及在 IDEA软件下的配置,以及项目的测试运行(基于supermvc框架下的web)

    一.声明 使用了基于springmvc的supermvc的web框架.实习公司的框架. 二.tomact的下载与安装 1选择适合自己电脑配置的jdk和jre版本(截图来自tomcat的官方网站http ...

  7. Apache与Tomcat服务器

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.在Apache基金会里面Apache S ...

  8. 单节点下多个Tomcat服务器并存的端口号配置

    一个服务器节点同时安装多个tomcat服务器时,如果仅仅修改访问端口号则会提示端口冲突启动失败,还需要修改另外端口号解决,一共需要修改3处地方,修改如下: 编辑配置文件:server.xml 1.首先 ...

  9. 怎样给Myeclipse配置tomcat服务器

    http://jingyan.baidu.com/article/4853e1e53465271909f72690.html Meclipse是java Web企业级开发中最流行的工具,java we ...

  10. 启动Tomcat服务器报错

    启动Tomcat服务器报错: Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are alre ...

随机推荐

  1. JSP+Servlet实现上传下载

    0.项目结构 1.在WebRoot下创建index.jsp页面 <%@ page language="java" import="java.util.*" ...

  2. Docker私有仓库1

    一.搭建私有仓库 #环境 Ip 192.168.0.34 X86云主机 [root@lh- /]# uname -a Linux lh- -.el7.x86_64 # SMP Thu Mar :: U ...

  3. MySQL日志Undo&Redo

    00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC). - 事务的原子性(Atomi ...

  4. HDU 1253 胜利大逃亡(BFS)

    题目链接 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A ...

  5. ubuntu安装docker

    uname -r #查看内核版本要大于3.10apt-get updateapt-get install linux-image-generic-lts-trusty wget -qO- https: ...

  6. [ An Ac a Day ^_^ ] hdu 4565 数学推导+矩阵快速幂

    从今天开始就有各站网络赛了 今天是ccpc全国赛的网络赛 希望一切顺利 可以去一次吉大 希望还能去一次大连 题意: 很明确是让你求Sn=[a+sqrt(b)^n]%m 思路: 一开始以为是水题 暴力了 ...

  7. CodeForces 701C They Are Everywhere 尺取法

    简单的尺取法…… 先找到右边界 然后在已经有了所有字母后减小左边界…… 不断优化最短区间就好了~ #include<stdio.h> #include<string.h> #d ...

  8. jQuery版本冲突解决办法

    <!-- 引入1.6.4版的jq --> <script src="<a href="http://ajax.googleapis.com/ajax/lib ...

  9. USB 设备插拔事件处理

            Windows 系统下,设备连接至电脑或从电脑移除,系统会广播一条 WM_DEVICECHANGE 消息到所有应用程序,在程序的消息处理函数中可以对事件进行相应. 1: class C ...

  10. jq的siblings对a标签不起效

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...