共计 4958 个字符,预计需要花费 13 分钟才能阅读完成。
一、前言
Resin是 CAUCHO 公司的产品,是一个非常流行的支持 servlets 和 jsp 的引擎,速度非常快。对 servlet 和 JSP 提供了良好的支持,性能也比较优良,resin 自身采用 JAVA 语言开发。Resin 本身包含了一个支持 HTTP/1.1 的 WEB 服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼 APACHE SERVER。许多站点都是使用该 WEB 服务器构建的。但是,resin3.09 后分为了 opensource 的和 pro 的两种版本:
1.opensource 的 resin 是基于 GPL 开源的,如果需要将开发产品作为商业产品发布是需要收费的。2.pro 的是收费的,比 opensource 的部分多了性能优化和集群,技术支持等
实验环境
两台服务器:httpd-server 192.168.0.11
resin-server 192.168.0.12
二、安装 java 环境
[root@resin-server ~]# rpm -ivh jdk-8u25-x64.rpm
Preparing... ########################################### [100%]
1:jdk1.8.0_131 ########################################### [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
[root@resin-server ~]# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export CLASSPATH=$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
[root@resin-server ~]# . /etc/profile.d/java.sh
[root@resin-server ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
三、安装 resin #如果不和 httpd 配合生成模块,无需编译
浏览器打开 resin 下载地址 http://caucho.com/products/resin/download,选择对应的版 本
[root@resin-server ~]# wget http://www.caucho.com/download/resin-3.1.13.tar.gz #下载软件
[root@resin-server ~]# tar xf resin-3.1.13.tar.gz -C /usr/local/ #不和 httpd 生成模块,则无需编译
[root@resin-server local]# ln -sv resin-3.1.13 resin
"resin" -> "resin-3.1.13"
[root@resin-server local]# sed -n '88,100p' /usr/local/resin/conf/resin.conf #修改配置文件,删除默认配置文件 88-146 行,添加如下内容
<!-- resin configure by 2017-12-21 -->
<server id='panwenbin' address='192.168.0.11' port='8888' watchdog-port='8889'>
<http address="*" port="8080" />
<jvm-arg>-Xmx128m</jvm-arg>
<jvm-arg>-Xms128m</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
<memory-free-min>1M</memory-free-min>
<thread-max>128</thread-max>
<socket-timeout>60s</socket-timeout>
<keepalive-max>128</keepalive-max>
<keepalive-timeout>15s</keepalive-timeout>
</server>
注:resin4.0 之后几点 JDK 参数移到 resin.xml 配置文件中,因为 4.0 之后 watchdog 会启动 resin 服务实例,并且使得配置更可维护
[root@resin-server ~]# httpd.sh -server panwenbin start #启动服务器
Resin/3.1.13 started -server 'panwenbin' for watchdog at 127.0.0.1:8889
[root@resin-server ~]# netstat -tnlp|egrep "8888|8889|8080" #查看端口是否启动
tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN 28889/sshd
tcp 0 0 :::8080 :::* LISTEN 57101/java #resin web server 端口
tcp 0 0 ::ffff:192.168.0.11:8888 :::* LISTEN 57101/java #Apache 的请求转发端口
tcp 0 0 ::ffff:127.0.0.1:8889 :::* LISTEN 57074/java #watchdog 端口
tcp 0 0 ::1:6012 :::* LISTEN 28889/sshd
[root@resin-server ~]# echo "99+1=<%=99+1%>" > /usr/local/resin/webapps/ROOT/test.jsp #添加测试页
[root@resin-server ~]# curl http://192.168.0.11:8080/test.jsp #显示 100 则服务正常
99+1=100
浏览器访问,测试一下,主要端口
添加系统服务脚本,按需添加
[root@resin-server ~]# cp /usr/local/resin/contrib/init.resin.in /etc/init.d/resin
[root@resin-server ~]# vim /etc/init.d/resin
修改前:
修改后:
注:引入 java 变量和指定 sever 名称
[root@resin-server ~]# chmod +x /etc/init.d/resin [root@resin-server ~]# killall java [root@resin-server ~]# /etc/init.d/resin start
四、安装 httpd
[root@httpd-server ~]#yum install -y zlib libmxl libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel ng-devel gd-devel curl-devel
[root@httpd-server~]#wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.2.34.tar.gz
[root@httpd-server ~]#tar xf httpd-2.2.34.tar.gz
[root@httpd-server ~]#cd httpd-2.2.34
[root@httpd-server httpd-2.2.34]#./configure --prefix=/usr/local/httpd --enable-deflate --enable-headers --enable-modules=so --enable-so --with-mpm=worker --enable-rewrite
[root@httpd-server httpd-2.2.34]#make &&make install
编译生成 resin 的 httpd 模块
[root@httpd-server ~]# wget http://www.caucho.com/download/resin-3.1.13.tar.gz
[root@httpd-server ~]# tar xf resin-3.1.13.tar.gz
[root@httpd-server ~]# cd resin-3.1.13
[root@httpd-server resin-3.1.13]# ./configure --with-apxs=/usr/local/httpd/bin/apxs
[root@httpd-server resin-3.1.13]# cd modules/c/src/
[root@httpd-server src]# make&&make install
[root@httpd-serverr src]# ll /usr/local/httpd/modules/ #查看模块是否生成
总用量 180
-rw-r--r-- 1 root root 9291 1 月 2 20:00 httpd.exp
-rwxr-xr-x 1 root root 170915 1 月 2 20:16 mod_caucho.so
[root@httpd-server src]# tail /usr/local/httpd/conf/httpd.conf #查看 httpd 配置文件是否生成 resin 配置命令
</IfModule>
#
# mod_caucho Resin Configuration
#
LoadModule caucho_module /usr/local/httpd/modules/mod_caucho.so
ResinConfigServer localhost 6800
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
编辑 httpd 配置文件,使其可以将请求转发至 resin 服务器
[root@httpd-server src]# tail /usr/local/httpd/conf/httpd.conf
#
# mod_caucho Resin Configuration
#
LoadModule caucho_module /usr/local/httpd/modules/mod_caucho.so
ResinConfigServer 192.168.0.11 8888
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
SetHandler cacucho-request #加上 SetHandler caucho-request 是全部将请求转发到 resin,不加仅有 PHP jsp 类型转发
[root@httpd-server src]# /usr/local/httpd/bin/apachectl start #启动 httpd 服务
httpd: apr_sockaddr_info_get() failed for httpd-server #错误提示原因:这个问题是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[root@httpd-server src]# netstat -tnlp #检查端口是否启动
测试
浏览器访问 http://192.168.0.12/index.jsp
浏览器访问 http://192.168.0.12/test.jsp
最终结果看,配置成功了!
本文永久更新链接地址:http://www.linuxidc.com/Linux/2018-01/150366.htm
正文完
星哥玩云-微信公众号