记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

linux+Apache2.2.2+Tomcat5.5.17+JSP

需要软件:
1.Apache2.2.2官方下载:http://httpd.apache.org/download.cgi
2.Java1.5官方下载:http://192.18.108.148/ECom/EComTicketServlet/BEGIN7C9504C2D69571D1CB544B15E381433E/-2147483648/1564373499/1/531770/531638/1564373499/2ts+/westCoastFSEND/jdk-1.5.0-oth-JPR/jdk-1.5.0-oth-JPR:3/jdk-1_5_0-linux-i586.bin
3.Tomcat5.5.17官方下载:http://tomcat.apache.org/download-55.cgi#5.5.17
4.jakarta-tomcat-connectors-1.2.15-src.tar.gz官方下载:http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2

第一步,安装Apache2.2.2
    //解压缩
    # tar -xvzf httpd-2.2.2.tar.gz
    //配置,/usr/local/httpd-2.2.2这个是你Apace的安装路径,我习惯带上版本号了,用熟悉了你就知道好处了
    # ./configure --prefix=/usr/local/httpd-2.2.2 --enable-module=so
    //编译
    # make
    //安装
    # make install
    打开/usr/local/httpd-2.2.2/conf/httpd.conf
    找到
    ServerName localhost:80
    更改为
    ServerName localhost
    找到(默认的主机目录)
    DocumentRoot "/usr/local/httpd-2.2.2/htdocs"
    更改为(你要指定的主机目录)
    DocumentRoot "/home/www/html"
    //检查一下配置是否正确
    # /usr/local/httpd-2.2.2/bin/apachectl -t
    Syntax OK //说明配置正确,如果有问题请仔细察看错误提示,检查配置文件是否正确
    打开http://192.168.0.6 (你服务器的IP)是否看到了Apache的欢迎界面?如果没有看到,请检查你上面的步骤是否正确;

第二步,安装Java1.5
    # cp jdk-1_5_0-linux-i586.bin /usr/local
    # cd /usr/local
    # chmod 777 jdk-1_5_0-linux-i586.bin  //把该文件的权限设置为777
    # ./jdk-1_5_0-linux-i586.bin  //执行,自动解压缩的为jdk1.5.0
    打开/etc/profile
   在最后一行加上:
    JAVA_HOME=/usr/local/jdk1.5.0
    PATH=$PATH:$JAVA_HOME/bin
    CLASSPATH=$JAVA_HOME/lib/tools.jar:/usr/j2se/lib/dt.jar
    CATALINA_HOME=/usr/local/apache-tomcat-5.5.17  // 这个我提前加了,下面安装tomcat的以后才需要加的
    export PATH JAVA_HOME CLASSPATH CATALINA_HOME
    运行一下java、javac看看是不是可以了,那么到此java的安装就算是完成了(建议退出系统,重新登录一下)

第三步,安装Tomcat
    可以说Tomcat的安装最为简单:
    # cp apache-tomcat-5.5.17.tar.gz /usr/local
    # cd /usr/local
    # tar -xvzf apache-tomcat-5.5.17.tar.gz
    # /usr/local/apache-tomcat-5.5.17/bin/startup.sh
    然后到http://192.168.0.6:8080 是不是看到那只叫Tom的猫了

第四步,安装jakarta-tomcat-connectors
    这个模块是用于Apache和Tomcat之间进行通讯的,所以整合Tomcat和Apache,这个模块的安装是至关重要的。
    # tar -xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
    # cd jakarta-tomcat-connectors-1.2.15/jk/native/
    # ./configure --with-apxs=/usr/local/httpd-2.2.2/bin/apxs --with-apr-lib=/usr/local/httpd-2.2.2/bin  --with-tomcat=/usr/local/apache-tomcat-5.5.17/ --with-java-home=/usr/local/jdk1.5.0 --with-jni
    # make
    # cd apache-2.0/
    # ll
    有没有看到mod_jk.so模块?如果看到了,那么说明的编译已经成功。

第五步,整合Tomcat和Apache 
    # cp /home/software/jakarta-tomcat-connectors-1.2.15/jk/native/apache-2.0/mod_mk.so /usr/local/httpd-2.2.2/modules/
    # cd /usr/local/httpd-2.2.2/conf
    # vim mok_jk.conf
JkWorkersFile /usr/local/httpd-2.2.2/conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"

    # vim workers.properties
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

     打开/usr/local/httpd-2.2.2/conf/httpd.conf,增加两行;注意千万不要放到最后一行,应该在所有Include之前
LoadModule jk_module modules/mod_jk.so
Include conf/mod_jk.conf

    至此Tomcat与Apache2的整合已经算是完成

第五步,虚拟主机 
    其实在上面配置中,我并没有把所有的事情都作为,所以上面尽管已经做了几乎所有的工作,当仍然是不能使用的最最关键的一步我来搬到虚拟主机中来讲,也算是作虚拟主机的一个窍门或者说是解决办法吧
    Apache2的虚拟主机我想大家都不陌生吧,如果真的不会,本站手册可以查询;下面我再Apache中创建了两个虚拟主机:
<VirtualHost 192.168.0.6>
    ServerAdmin
webmaster@moocky.net
    DocumentRoot "/home/www/html/moocky.net"
    ServerName
www.moocky.net
    ServerAlias moocky.net
    ErrorLog logs/www_moocky_net-error_log
    CustomLog logs/www_moocky_net-access_log common
    CustomLog logs/www_moocky_net-deflate_log deflate
</VirtualHost>
<VirtualHost 192.168.0.6>
    JkMount /servlet/*  worker1
    JkMount /*.jsp worker1
    ServerAdmin
webmaster@moocky.net
    DocumentRoot "/home/www/html/moocky.com"
    ServerName
www.moocky.com
    ServerAlias moocky.com
    ErrorLog logs/www_moocky_com-error_log
    CustomLog logs/www_moocky_com-access_log common
    CustomLog logs/www_moocky_com-deflate_log deflate
</VirtualHost>

    接下来就是要在Tomcat中同样创建两个虚拟主机,Tomcat创建虚拟主机是通过修改Server.xml来实现的:
<Host name="www.moocky.net" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
  <Context path="" docBase="/home/www/html/moocky.net/wwwroot" debug="0" reloadable="true" crossContext="true"/>
  <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="www.moocky.net." suffix=".log" timestamp="true"/>
</Host>
<Host name="www.moocky.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
  <Context path="" docBase="/home/www/html/myself/moocky.com/wwwroot" debug="0" reloadable="true" crossContext="true"/>
  <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="www.moocky.com." suffix=".log" timestamp="true"/>
</Host>
    配置文件修改完毕,分别重起Tomcat和Apache,然后分别在moocky.net和moocky.com这两个站点中创建index.jsp文件,内容如下:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Test Page</title>
</head>
<body>
    <h1>JSP Test Page</h1>
    <%= new java.util.Date() %>
</body>
</html>
    分别浏览一下http://www.moocky.com/index.jsp 和http://www.moocky.net/index.jsp 我们会发现一个很奇怪的问题,就是moocky.net中index.jsp文件根本没有被执行,其实细心的朋友肯定已经发现了我在Apache中配置那个虚拟主机的时候有一个细微差别:
    JkMount /servlet/*  worker1
    JkMount /*.jsp worker1

    这个就是用来通知WebServer,所有的jsp、servlet都来使用Tomcat进行解析的而moocky.net没有这个标注,所以,即使同样也在tomcat中创建了站点,他也不会解析JSP文件了。如果你想让你所有的站点都支持JSP,那么直接把这两行放在Apache的httpd.conf中所有Include上面就可以,而不必在每个虚拟主机中都写了。

     都这里,有Apache和Tomcat的整合已经全部结束了,上面的步骤都是我一步一步测下来的,应该不会有什么问题,但不保证适合所有的Linux环境,有什么问题欢迎大家一起讨论。

Tags: jsp/java

« 上一篇 | 下一篇 »

只显示10条记录相关文章

乱码问题的解决 (浏览: 2703, 评论: 0)

Trackbacks

点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5

发表评论

评论内容 (必填):