常见的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. Java 向SQL Server插入文件数据

    package sqlserver; import java.util.Date; import java.util.UUID; import java.text.SimpleDateFormat; ...

  2. mysql导出数据表结构,必须退出mysql命令.重新使用msyqldump命令

    只导出数据库中所有表结构(-d 减去数据) 导出所有表结构和数据 mysqldump -uroot --default-character-set=utf8 -p123-d必须空格good>H: ...

  3. 【转】ActiveMQ与虚拟通道

    郑重提示,本文转载自http://shift-alt-ctrl.iteye.com/blog/2065436 ActiveMQ提供了虚拟通道的特性(Virtual Destination),它允许一个 ...

  4. LeetCode OJ 169. Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  5. poj 1687 Buggy Sat 简单计算几何

    暑期集训出的第一道一血 感觉自己萌萌哒…… 这道题本身并没有坑点 仅仅是翻译巨坑…… 解大腿在做B 安学长在做E 我闲着也没事 就一个词一个词翻译F…… 最后感觉…… 题干大多数都看不懂…… 也都没啥 ...

  6. 本元鼠标自动点击器 v1.31 官方绿色版

    软件名称: 本元鼠标自动点击器软件语言: 简体中文授权方式: 免费软件运行环境: Win 32位/64位软件大小: 516KB图片预览: 软件简介:本元鼠标自动点击器是一款免费绿色版的鼠标自动点击器, ...

  7. SELinux Policy Macros

    参考:http://selinuxproject.org/page/NB_RefPolicy Directory Macros macro expansion getattr_dir_perms ge ...

  8. C中内存分配方式[转载]

    在C 中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 一.简介: 1.栈,就是那些由编译器在需要的时候分配,在无需的时候自动清除的变量的存储区.里面的变量通常是局部变 ...

  9. tmux commands

    最近在学Linux,用到tmux这个命令,看到很多快捷键的介绍,个人觉得不太好用,因此把几个常用的命令记录下来,以便以后学习和使用. 常用tmux commands: tmux ls         ...

  10. Python2中while 1比while True更快

    1) bool类是从int类继承而来的 2) True/False 在python2中不是关键字,但是在python3是(True,False,None) PS > python2 Enthou ...