始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

整合apache和tomcat构建Web服务器 (3)

发布时间:  2012/7/31 19:41:56

>  UserDir public_html
  UserDir用于设定用户个人主页存放的目录,默认为“public_html”目录,例如有个用户为ixdba,如果他的根目录为/home/ixdba,那么他的默认主页存放路径为/home/ixdba/public_html。
  AccessFileName .htaccess
  定义每个用户目录下的访问控制文件的文件名,默认为.htaccess,
  TypesConfig conf/mime.types
  TypesConfig用来定义在哪里查询mime.types文件
  HostnameLookups Off
  用来指定apache在日志中记录访问端地址是ip还是域名,如果为Off,则记录IP地址,如果是On,记录域名信息,建议设置为Off。
  ErrorLog logs/error_log
  指定错误日志文件的位置
  CustomLog logs/access_log common
  指定apache访问日志文件的位置和记录日志的模式。
  ServerTokens Full
  这个指令定义包含在HTTP回应头中的信息类型,默认为“Full”,表示在回应头中将包含操作系统类型和编译信息,可以设为Full|OS|Minor|Minimal|Major|Prod列各值中的一个,Full包含的信息最多,而Prod最少。
  ServerSignature On
  此指令有3个选项,On、Off和Email,On选项表示在apache的出错页面会显示apache版本以及加载的模块信息,Email选项与On相同,但是还会多出一个包含管理员邮件地址的mailto连接。Off表示不显示任何上面信息。
  Alias /icons/ "/usr/local/apache2/icons/"
  <Directory "/usr/local/apache2/icons">
  Options Indexes MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
  </Directory>
  上面这段信息是apache中对别名的设定,当访问http://ip或域名/icons时,由于Alias的原因,apache不会去DocumentRoot指定的目录查找文件,而是直接访问/usr/local/apache2/icons 目录下对应的文件信息。而<Directory>标签就是对这个目录权限的设定。
  ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
  <Directory "/usr/local/apache2/cgi-bin">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
  </Directory>
  这段信息和上面的Alias设定类似,只不过这个是设置cgi脚本的执行权限而已,apache默认在/usr/local/apache2/cgi-bin目录下具有cgi脚本执行权限。
  JkWorkersFile /usr/local/apache2/conf/workers.properties
  JkMountFile   /usr/local/apache2/conf/uriworkermap.properties
  JkLogFile /usr/local/apache2/logs/mod_jk.log
  JkLogLevel info
  JkLogStampformat "[%a %b %d %H:%M:%S %Y]"
  上面这5行是对JK连接器属性的设定,第一、二行指定Tomcat workers配置文件以及对网页的过滤规则,第三行指定JK模块的日志输出文件,第四行指定日志输出级别,最后一行指定日志输出格式。
  虚拟主机的设定
  NameVirtualHost *
  表示启用虚拟主机,如果开启虚拟主机,上面DocumentRoot指令指定的配置将失效,以虚拟主机中指定的DocumentRoot为主。
  <VirtualHost *>
  ServerAdmin webmaster@ixdba.net
  DocumentRoot /webdata/www
  ServerName 192.168.60.198
  ErrorLog logs/error_log
  CustomLog logs/access_log common
  JkMountFile  conf/uriworkermap.properties
  </VirtualHost>
  上面这段是添加一个虚拟主机,其实虚拟主机是通过不同的ServerName 来区分的,这里为了演示方便,使用IP代替域名。我们经常看到在一个web服务器上有很多个网站,并且每个站点都不相同,这就是通过虚拟主机技术实现的。
  每个虚拟主机用<VirtualHost>标签设定,各个字段含义如下:
  ServerAdmin:表示虚拟主机的管理员邮件地址。
  DocumentRoot:指定虚拟主机站点文件路径。
  ServerName:虚拟主机的站点域名
  ErrorLog:指定虚拟主机站点错误日志输出文件。
  CustomLog:指定虚拟主机站点访问日志输出文件。
  JkMountFile:指定对此虚拟主机的URL映射文件。
  例如,我们要在一个服务器上建立3个网站,只需配置下面3个虚拟主机即可:
  <VirtualHost *:80>
  ServerAdmin webmaster_www@ixdba.net
  DocumentRoot /webdata/html
  ServerName www.ixdba.net
  ErrorLog logs/www.error_log
  CustomLog logs/www.access_log common
  </VirtualHost>
  <VirtualHost *:80>
  ServerAdmin webmaster_bbs@ixdba.net
  DocumentRoot /webdata/bbs
  ServerName bbs.ixdba.net
  ErrorLog logs/bbs.error_log
  CustomLog logs/bbs.access_log common
  </VirtualHost>
  <VirtualHost *:80>
  ServerAdmin webmaster_mail@ixdba.net
  DocumentRoot /webdata/mail
  ServerName mail.ixdba.net
  ErrorLog logs/mail.error_log
  CustomLog logs/mail.access_log common
  </VirtualHost>
  这样,就建立了3个虚拟主机,对应的站点域名分别是www.ixdba.net、bbs.ixdba.net、mail.ixdba.net,接下来的工作就是将这3个站点域名对应的IP全部解析到一台web服务器即可。
  3.Tomcat的配置
  (1)tomcat的目录机构
  在上面的操作中,Tomcat安装在了/usr/local/tomcat5.5.12下,tomcat每个目录的含义如表8.2所示:
  表8.1
  目录名称 目录作用
  bin 存放各种平台下启动和关闭Tomcat的脚本文件
  comm 存在Tomcat服务器及所有的web应用程序可以访问的JAR文件
  conf 存放Tomcat的各种配置文件,最重要的是 server.xml和web.xml
  logs 存放Tomcat日志文件
  server 此目录又包含lib和webapps 2个主要目录,webapps存放Tomcat自带的两个WEB应用admin应用和manager应用,lib存放Tomcat服务器所需的各种JAR文件
  shared 此目录又包含lib目录,lib目录主要存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)
  webapps Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
  work 存放JSP编译后产生的class文件
  (2)server.xml的配置
  server.xml是tomcat的核心配置文件,为了支持与apache的整合,在tomcat中也需要配置虚拟主机,server.xml是一个有标签组成的文本文件,找到默认的<Host>标签,在此标签结尾,也就是</Host>后面增加如下虚拟主机配置:
  <Host name="192.168.60.198" debug="0" appBase="/webdata/www" unpackWARs="true">
  <Context path="" docBase="" debug="1"/>
  </Host>
  其中:
  l name:指定虚拟主机名字,这里为了演示方便,用IP代替。
  l debug:指定日志输出级别
  l appBase:存放Web应用程序的基本目录,可以是绝对路径或相对于$CATALINA_HOME的目录,默认是$CATALINA_HOME/webapps。
  l unpackWARs:如果为true,则tomcat会自动将WAR文件解压后运行,否则不解压而直接从WAR文件中运行应用程序。
  l autoDeploy:如果为true,表示Tomcat启动时会自动发布appBase目录下所有的Web应用(包括新加入的Web应用)
  l path:表示此Web应用程序的url入口,如为“/jsp”,则请求的URL为http://localhost/jsp/
  l docBase:指定此Web应用的绝对或相对路径,也可以为WAR文件的路径。
  这样tomcat的虚拟主机就创建完成了。
  注意:tomcat的虚拟主机一定要和apache配置的虚拟主机指向同一个目录,这里统一指向到/webdata/www目录下,所以接下来只需在/webdata/www中放置jsp程序即可。
  在server.xml中,还需要注意的几个标签有:
  <Connector port="8080" maxHttpHeaderSize="8192"
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
  enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
  这是tomcat对http访问协议的设定,http默认的监听端口为8080,在apache和tomcat整合的配置中,是不需要开启tomcat的http监听的,为了安全期间,建议注释掉此标签,关闭http默认的监听端口。
  <Connector port="8009"
  enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
  上面这段是tomcat对ajp13协议的设定,ajp13协议默认的监听端口为8009,整合apache和tomcat必须启用该协议,JK模块就是通过ajp协议实现apache和tomcat协调工作的。
  (3)配置tomcat启动脚本
  Tomcat的bin目录主要存放各种平台下启动和关闭tomcat的脚本文件,在linux下主要有catalina.sh、startup.sh和shutdown.sh 3个脚本,而startup.sh和shutdown.sh其实都用不同的参数调用了catalina.sh脚本。
  Tomcat在启动的时候会去查找jdk的安装路径,因此,我们需要配置系统环境变量,这里详细讲述下linux下环境变量的设定。
  l /etc/profile:是配置系统全局环境变量,系统中所有应用都可以使用这个环境变量。
  l ~/.bash_profile:是用户环境变量,每个用户可以通过配置这个文件而设定不同的环境变量。
  针对java环境变量的设置,可以在/etc/profile中指定JAVA_HOME,也可以在启动tomcat的用户环境变量.bash_profile中指定JAVA_HOME,这里我们在catalina.sh脚本中指定java环境变量,编辑catalina.sh文件,添加如下内容:
  # OS specific support.  $var _must_ be set to either true or false.
  JAVA_HOME=/usr/local/jdk1.6.0_07
  export JAVA_HOME
  cygwin=false
  os400=false
  上面加粗部分是新加内容,其它为catalina.sh文件原有内容。通过JAVA_HOME指定了JDK的安装路径,然后通过export设置生效。
  4.测试apache与tomcat整合
  到这里为止,apache与tomcat整合配置已经完毕了,接下来我们通过添加jsp程序来测试整合的结果,看是否达到了预期的效果。
  这里我们将/usr/local/tomcat5.5.12/webapps/ROOT/目录下的所有文件拷贝到/webdata/www下,然后启动tomcat与apache服务,执行步骤如下:
  [root@localhost~]#cp –r /usr/local/tomcat5.5.12/webapps/ROOT/*  /webdata/www
  [root@localhost ~]# /usr/local/tomcat5.5.12/bin/startup.sh
  [root@localhost ~]# /usr/local/apache2/bin/apachectl start
  启动服务完毕,就可以访问站点了,输入http://192.168.60.198,如果能访问到tomcat默认的jsp页面,表示tomcat解析成功,接着,在/webdata/www下建立一个test.html的静态页面,内容如下:
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>Administration</title>
  </head>
  <body>
  apache and tomcat sussessful,
  This is html pages!
  </body>
  </html>
  通过访问http://192.168.60.198/test.html,应该出现:
  apache and tomcat sussessful ,This is html pages!
  则表示静态页面也可以正确解析。
  由于tomcat也能处理静态的页面和图片等资源文件,那么如何才能确定这些静态资源文件都是由apache处理了呢,知道这个很重要,因为做apache和tomcat集成的主要原因就是为了实现动、静资源分离处理。

亿恩科技地址(ADD):郑州市黄河路129号天一大厦608室 邮编(ZIP):450008 传真(FAX):0371-60123888
   联系:亿恩小凡
   QQ:89317007
   电话:0371-63322206


本文出自:亿恩科技【www.enkj.com】

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线