jdk1.5+resin3的安装小记

By SuperTaoer | 六月 8, 2007
Under: 程序 技术 周边
Views:

今天由于工作需要,需要在服务器上配置jdk1.5和resin3或者jdk1.5+tomcat5的环境,但是由于偏爱的原因,
选择了jdk1.5+resin3。。。。。。

下载就不用说了。。。
从 http://cn.sun.com 下载jdk1.5
从 http://www.caucho.com/download 下载 resin3.1.0

安装jdk1.5

  1. #chmod 700 ./jdk-1_5_0_11-linux-i586.bin
  2. #./jdk-1_5_0_11-linux-i586.bin

按照提示安装即可

看了下官方的文档
基本的安装和resin2基本都是一样的。。。。

编译resin:
如果你要将resin安装在/usr/local下

  1. cd /usr/local
  2. tar zxvf resin-pro-3.1.0.tar.gz
  3. mv resin-pro-3.1.0 resin
  4. cd resin
  5. ./configure –prefix=/usr/local/resin –with-apache=/usr/local/apache2 –with-openssl=/usr/local/openssl && make && make install

编译好resin后
做一些准备工作来让resin启动起来

resin的环境在上面配置java的时候已经一起给加上去了。
如果要让resin随系统自动运行
你需要做如下的操作

  1. cp contrib/init.resin /etc/rc.d/
  2. chmod +x /etc/rc.d/init.resin

下面修改你的 init.resin
找到文件中

  1. start)
  2. echo -n "Starting resin: "
  3. if test -n "$USER"; then
  4. su $USER -c "$EXE -pid $PID start $ARGS"
  5. else
  6. $EXE -pid $PID start $ARGS
  7. fi

在后面加入

  1. sleep 15

在这个时候问题出现了。。。
执行 /etc/rc.d/init.resin start 会提示如下信息:

  1. Starting resin: unknown argument ‘-pid’
  2.  
  3. usage: java -jar resin.jar [-options] [start | stop | restart]
  4.  
  5. where options include:
  6.    -conf <file>       select a configuration file
  7.    -resin-home <dir>  select a resin home directory
  8.    -root-directory <dir>  select a root directory
  9.    -server <id>   select a <server> to run
  10.    -verbose       print verbose starting information

然后查看了一下源代码发现:

  1. start)
  2.         echo -n "Starting resin: "
  3.         if test -n "$USER"; then
  4.           su $USER -c "$EXE -pid $PID start $ARGS"
  5.         else
  6.           $EXE -pid $PID start $ARGS
  7.         fi
  8.         echo
  9.         ;;
  10.   stop)
  11.         echo -n "Shutting down resin: "
  12.         $EXE -pid $PID stop
  13.         echo
  14.         rm -f $PID
  15.         ;;

这里面都有个参数-pid,感觉应该和-pid有问题吧,没有深究,改为另外一种启动方法测试:

  1. #/usr/local/resin/bin/httpd.sh start

显示:
Resin/3.1.0 started -server ”.
OK,启动成功。。。
但是在停止服务的时候,第一次出现了。。。
Resin/3.1.0 can’t stop -server ”.
java.lang.IllegalStateException: Can’t connect to ResinWatchdogManager.
java.net.ConnectException: http://127.0.0.1:6600/watchdog: Connection refused
这样的错误提示。。。
随后就没有了。。。

设置成系统自动启动:
在/etc/rc.local中加入
/usr/local/resin/bin/httpd.sh start &

这种方法启动仍然不行,似乎是由于加载java环境的缘故吧,这个也是上面的脚本需要加sleep 15的原因。

OK,配置完成。。。

接下来看虚拟主机如何配置
resin2和resin3的配置虚拟主机也有一点小小的不同:

  1. <host id=’www.xxx.com’ root-directory=".">
  2.     <web-app id=’/’ app-dir=’/html/xxx/www’>
  3.     </web-app>
  4. </host>

ok,这样一个简单的虚拟主机站点目录就配置好了。。。
其他的问题,目前还没有遇到过。。。

——- 更新于 2007年6月8日下午 ——-
今天从sun和resin的网站下载了最新的
jdk-1_5_0_12-linux-i586.bin 和 resin-pro-3.1.1.tar.gz

按照以前的开始编译。。。。
编译resin的时候就出问题了。。。没有在意。。继续。。。
当启动resin服务器的时候。。。麻烦来了。。。

报告 java 不能解释 -jar参数的问题。。。。
然后单独执行java
出现:
Usage: gij [OPTION] … CLASS [ARGS] …
to invoke CLASS.main, or
gij -jar [OPTION] … JARFILE [ARGS] …
to execute a jar file
Try `gij –help’ for more information.
根本就没有java应该有的那些选项。。。
于是查找原因
#whereis java
返回的结果是:java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java
然后
#ll /usr/bin/java
发现
/usr/bin/java -> /etc/alternatives/java
/etc/alternatives/java -> /usr/lib/jvm/jre-1.4.2-gcj/bin/java

/usr/bin/java 是指向 /etc/alternatives/java 的链接
然后/etc/alternatives/java 又是指向 /usr/lib/jvm/jre-1.4.2-gcj/bin/java 的链接。。。
这个时候明白了。。。
先执行
#unlink /usr/bin/java
然后接着执行
ln -s /usr/local/jdk1.5.0_12/bin/java /usr/bin/java
把软链接重新定义。。。
测试成功。。。

接着重新编译resin
#./configure –prefix=/usr/local/resin –with-apache=/usr/local/apache2 –with-openssl=/usr/local/openssl && make && make install
编译的时候会出现一些类似于
make[2]: Entering directory `/usr/local/resin/modules/c/src/resin_os’
mkdir /usr/local/resin/libexec
mkdir: cannot create directory `/usr/local/resin/libexec’: File exists
make[2]: [install] Error 1 (ignored)
cp libresin_os.so /usr/local/resin/libexec
make[2]: Leaving directory `/usr/local/resin/modules/c/src/resin_os’
make[2]: Entering directory `/usr/local/resin/modules/c/src/resin_os’
mkdir /usr/local/resin/libexec
mkdir: cannot create directory `/usr/local/resin/libexec’: File exists
make[2]: [install] Error 1 (ignored)
cp libresin_os.so /usr/local/resin/libexec
make[2]: Leaving directory `/usr/local/resin/modules/c/src/resin_os’
make[1]: Leaving directory `/usr/local/resin/modules/c/src’
这样的错误。。。
因为在解压缩的时候就已经再/usr/local/resin目录解压缩了。。所以会提示File exists,不用去管他

测试启动resin服务器
#/usr/local/resin/bin/httpd.sh start
显示:
Resin/3.1.1 started -server ”.
说明成功了。

剩下的仍然还是自启动的问题。。。。
希望知道如何让resin向apache一样随系统自启动的朋友不吝赐教 :)

差..好文!! (还没评价)
Loading ... Loading ...

Leave a Message

No Messages

No Messages

RSS feed for comments on this post. TrackBack URI

Leave a Message