免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1425 | 回复: 0
打印 上一主题 下一主题

apache22和resin3实现jsp功能 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-23 15:45 |只看该作者 |倒序浏览
apache22和resin3实现jsp功能

说明:本文转贴自
http://bbs.chinaunix.net/viewthread.php?tid=807071&extra=page%3D1
,指导我完成了resin的工作,感谢!
系统:
freebsd6.1-p3
apache22
pure-ftp
mysql
jdk15
resin3.0.19
防火墙ipfw
开了若干虚拟主机,也一并实现了 JSP 功能
步骤如下:
系统安装和apache22的安装和配置就不用说了,这里有很多也很简单,大家自己搜一下吧。我都是用PORTS安装的
(BSD我已经升级过源码,PORTS也已经升级过)
一、安装JDK
1、安装
cd /usr/ports/java/jdk15
make install clean
注:会提示你缺少以下几个文件,要自己下载并放到 /usr/ports/distfiles 下,下载地址也会有提示
(1)jdk-1_5_0-src-scsl.zip
(2)jdk-1_5_0-bin-scsl.zip
(3)j2sdk-1_4_2_12-linux-i586.bin  ---这个开始没有提示缺少,后面会有提示,最好一并下载并放到 /usr/ports/distfiles 目录下
2、安装中间可能还会提示一个错误,具体的提示我说不住了,但里面有一个 linux_base-8-8.0_14 的字样,还会告诉你一个 pkd_del 的命令,如果出现这个提示,你就输入下面这个命令:
pkd_delete -f linux_base-8-8.0_14
然后再接着输入:(当面一定要还在 /usr/ports/java/jdk15目录,输入 pwd 查看)
make deinstall
make reinstall clean
以后如果还有提示错误(我安装的时候再没有了),详细查看提示文字,解决之后输入:
make deinstall
make reinstall clean (还要保证在 /usr/ports/java/jdk15目录)
注:这个安装的过程比较漫长,尤其是在编译CPP文件的时候,大家一定要耐心等待,

3、安装成功后,输入以下命令验证:
java -version
如果出现:
java version "1.5.0-p3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-p3-XXXX_07_aug_2006_12_59)
Java HotSpot(TM) Client VM (build 1.5.0-p3-XXXX_07_aug_2006_12_59, mixed mode)
说明安装成功(注:此老兄的jdk安装方法我是没安装成功,不过其它人都安装成功了,看来确实是人品问题,而且系统提示所需的所有文件我全都下载了并放到/usr/ports/distfiles目录下了,安装遇到的问题各不相同,查看了多方资料,后决定安装diablo-caffe-freebsd6-i386-1.5.0_07-b00.tar.bz2,这个文件也需要自行下载,在/usr/ports/java下有diablo的相关目录,可直接在该目录下make install clean 官方网站下载速度实在慢的让人无法忍受,建议去
http://www.freebsdchina.org/forum/viewforum.php?f=56&sid=b9d0d67b4406eb715602ced3a9fcef4d
这里查找,通过这个已安装成功)
二、安装RESIN
1、安装
因为我安装的是apache22,所以在安装前要手动修改 resin3 的安装文件。如果你装的是apache13或apache20,可能不需要修改。
如果不修改可能会出现无法和apache整合的情况,原因就是安装完resin后没有自动修改httpd.conf文件和填加相应的so文件,有的安装完resin后无法和apache整合,可能就是这个原因。(注:由于版权等各种原因,ports包里并没提供直接下载安装,需使用者自行下载安装,我安装的是resin-3.0.20.tar.gz,而且这文件还很不好下载,有且紧有只找了一个可以下载的连接,而且速度爆慢,还有很多时候直接断开连接不上,祝你好运能找到其它好的下载地址,我的下载地址
http://caucho.rz.klopotek.de/download/resin-3.0.20.tar.gz
耐心!!!)
cd /usr/ports/www/resin3
ee Makefile
(1)找到 WITH_APACHE2?= 这一行,将后面的 NO 修改为 YES
(2)找到 BUILD_DEPENDS+=         ${APXS}

{PORTSDIR}/www/apache2 和 PLIST_SUB+=             MOD_DIR=libexec/apache2 这二行,改成:
BUILD_DEPENDS+=         ${APXS}

{PORTSDIR}/www/apache22
PLIST_SUB+=             MOD_DIR=libexec/apache22
保存退出。
这样安装的时候,它才会正动修改你的 httpd.conf 文件增加 LoadModule caucho_module      libexec/apache22/mod_caucho.so
这一行;并在你的 /usr/local/libexec/apache22 中填加 mod_caucho.so 文件。
然后输入:
make install clean
可能会出现 resin-3.0.19.tar.gz 无法下载的情况,这时要手动下载此文件,并放到 /usr/ports/distfiles/ 下,然后重新输入:
make install clean
这个很快的,完成后如果出现:
--------------------------------------------------------------------------------
ADVANCED USAGE
If you need to pass special options to Java, please set the resin3_flags option
in /etc/rc.conf, see examples below:
  # Prevent Java from opening an X11 display
  resin3_flags="-Djava.awt.headless=true"
  # Increase memory limit of the Java virtual machine
  resin3_flags="-Xms32m -Xmx256m"
  # Run Java with remote debugging turned on on port 8000
  resin3_flags="-Xdebug -Xnoagent
  -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
The Resin Apache module mod_caucho has been activated in the Apache
configuration file, where you should also add a line to specify the location of
the Resin configuration server, for example:
    ResinConfigServer localhost 6802
********************************************************************************
说明你的resin已经安装成功了,e_e
这时按照提示修改 httpd.conf 文件,在最下面填加:
    ResinConfigServer localhost 6802
注:httpd.conf中还有一项需要修改,就是 Servername 这项,改成 Servername  localhost 即可
(2)修改resin3.sh文件:
cd /usr/local/etc/rc.d
ee resin3.sh
找到 resin3_enable=${resin3_enable:-"NO"} 这一行,改成 resin3_enable=${resin3_enable:-"YES"},保存退出
输入:
./resin3.sh start
(3)重启 apache
cd /usr/local/etc/rc.d/
./apache22.sh restart
(4)JSP网页测试
http://IP/index.jsp

http://IP:8080/index.jsp
如果想在输入网址的时候不用加 index.jsp 在 httpd.conf 中加入 index.jsp 的索引即可
三、如果自动启动 resin
安装完 resin 后,它会提示你在 rc.conf 中加入 resin3_enable="YES" ,可我试过,加入之后并不能自动随系统启动 resin,还需要手动启动才可,所以这个不用加入到 rc.conf 中去,并用如下方法解决:
cd /etc
ee rc.local (没有的话就自己建立这个文件)
输入:
/usr/local/etc/rc.d/resin3.sh start
然后重启
reboot
可以输入 top 查看,如果有 java ,说明已经启动成功!
四、防火墙IPFW的设置
如果装有IPFW防火墙,一定要在规则中填加 ipfw add 10006 allow tcp from any to me 8080 in 规则,否则无法实现 JSP 功能的调用。(在关掉了resin的8080端口的webserver功能后,就不用加了)
本例已经本人测试通过,当然朋友们在安装的时候可能还会遇到其它的问题,欢迎我们一起讨论,把所有的问题都解决掉。

补充:
以上的安装有一个问题,就是Resin完全接管了apache的功能,成了独立的webserver,如果想要apache和resin分管html、php和jsp的话,还要接着改一下:
1、可以关掉resin的8080端口,直接通过
http://localhost/index.jsp
的方式访问,这时apache只是起到了转发的功能,当然在访问静态页面或php页面的时候,还是通过apache来执行的
我用的是resin3.0.19版,低于此版的朋友可对照做相应修改
cd /usr/local/etc/resin3
ee resin.xml
找到:
   
将其改为:
     -->
也就是把这行给注释掉,这样就不启用resin的webserver功能了。
2、还是这个文件,接着找到下面这行:
将其改为:
这个是关键的,如果不改,则只能通过8080才能访问jsp页面(8080没有关掉的情况下),这个就是和你的httpd.conf中的 "ServerName   localhost" 和 “ResinConfigServer localhost 6802”相对应,原来我也是没改,一直搞不好,改了之后,重启resin和apache,OK了。
注:这个可以用多个端口来实现平衡负载功能
比如:
当然你也要在httpd.conf做对应的设置才行:
ResinConfigServer localhost 6801
ResinConfigServer localhost 6802
ResinConfigServer localhost 6803
ResinConfigServer localhost 6804
3、如果你用apache做了虚拟主机,还要改下面,使它和apache的保持一致:
cd /usr/local/etc/resin3
ee resin.xml
找到:
               
      
               
   
改成和你主机中对应的,如果有多个,就填加多段就行了:
               
      
               
   
注:重启的时候最好先kill掉java,kill -9 ID
然后再 ./resin2.sh start
./apache22.sh restart


红色字体为个人安装心得,不影响原作者安装的正确可行性




本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/20345/showart_159388.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP