Resin开源版(GPL)下载地址:http://caucho.com/products/resin/download/gpl
以最新版4.0.40(date:2014-08-02)为例。部署环境为Ubuntu,其他发行版本类似(我在公司部署过RedHat6)。
下载tar.gz包(http://www.caucho.com/download/resin-4.0.40.tar.gz)或zip包(http://www.caucho.com/download/resin-4.0.40.zip),不要下载deb包,因为我们需要将Resin安装到指定目录(deb包应该也可以,不过我linux没学到家,不会解这个包)。
等待下载的过程中请先确认你的linux环境安装了必要的编译安装工具。Ubuntu下可以通过apt-get命令安装
sudo apt-get install build-essential automake
进入文件夹,执行
./configure --prefix=/home/liufl/temp/resin-install
其中 --prefix参数指定要安装的路径,具体参数使用,可自行百度,linux下源码编译安装软件。
configure命令会告诉我们当前是否满足编译条件。
你可能会见到最后输出以下两行
OPENSSL : No OpenSSL has been found
*** OpenSSL libraries cannot be compiled ***
sudo apt-get install libssl-dev
Resin Configuration Summary:
RESIN : 4.0.40
home : /home/liufl/temp/resin-install
root : /home/liufl/temp/resin-install
conf : /home/liufl/temp/resin-install/conf
log : /home/liufl/temp/resin-install/log
plugins : common resin_os
init : /etc/init.d/resin
JAVA_HOME : /usr/local/java/jdk_default
JNI : 64-bit
include : -I/usr/local/java/jdk_default/include -I/usr/local/java/jdk_default/include/linux
CFLAGS :
cflags_shlib : -fpic
ld_shlib : gcc
ldflags_shlib : -shared -fPIC -m64
libs_shlib :
epoll() for keepalives
make;make install
liufl@liufl-virtual-machine:~/temp/resin-install$ ll
总用量 56
drwxrwxr-x 14 liufl liufl 4096 8月 3 20:00 ./
drwxrwxr-x 6 liufl liufl 4096 8月 3 20:00 ../
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 app-inf/
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 bin/
drwxrwxr-x 4 liufl liufl 4096 8月 3 20:00 conf/
drwxrwxr-x 5 liufl liufl 4096 8月 3 20:00 doc/
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 endorsed/
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 lib/
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 libexec64/
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 log/
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 project-jars/
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 resin-inf/
drwxrwxr-x 2 liufl liufl 4096 8月 3 20:00 webapp-jars/
drwxrwxr-x 3 liufl liufl 4096 8月 3 20:00 webapps/
其中,我们只要关心下面几个目录就可以了:
bin:这里放置了resin的控制脚本文件,其中只有resin.sh这一个文件需要保留,其他文件用不到,为保证不会误操作,删除之。
conf:resin的配置文件都在这里。其中我们一会需要修改的文件有三个:cluster-default.xml、resin.properties、resin.xml
webapps:默认的webapp加载目录。通常生产环境下我们需要把其中的ROOT项目删除。
其他目录暂时不用关心,需要了解的话请参考官方文档或自行百度谷歌。
至此,resin已可运行,你可以把这个文件夹拷贝到你这台机器的任意目录去运行了。但是因为这是GPL开源版,开发方作了限制:不能运行集群,只能以1watchdog+1app方式执行。即使你像处理Tomcat一样改了不同路径下resin的端口号,你也没办法启动第二个resin实例。因为resin watchdog监听端口冲突,而官方文档中根本没有提及如何修改watchdog端口号(反正我没找到)。但是,这个难不倒广大的劳动人民啊,经过一番百度谷歌,还是找到的设置方法。我们进入conf目录下,首先修改下resin.properties文件,这里我们主要修改resin的各端口号。找到下面一行:
app_servers : 127.0.0.1:6800
app_servers : 127.0.0.1:2800
watchdog_port : 2600
再之后找到行:
app.http : 8080
其他修改:
dev_mode : true #这里生产环境请改成false
resin_doc : true #这里通常可以写成false。服务器文档可以去官网或下载离线看,不必要浪费服务器资源。
web.http : 8080 #这个可以注释掉。因为是开源版,这个配置不会生效。
# jvm_args : -Xmx2048m -XX:MaxPermSize=256m #请根据服务器状态和需要修改。这个配置只会影响到app实例,不会对watchdog实例生效。
port_thread_max : 256
accept_thread_max : 32
accept_thread_min : 4
# keepalive_max : 512
...等请参考文档和机器性能酌情处理。
PS:SSL配置请自行研究吧,我没研究这个,本文就不提了。
修改完resin.properties之后,我们还需要修改resin.xml才能使配置完全生效。
找到这一行:
${watchdog_port?:6600}
其他配置都可以参考文档修改了,webapp加载配置、jndi注入一类的文档和百度上说的都比较清楚,大家可以自行查找,我这里只给出一份Apache Solr的配置示例,不做具体解释了
替换为
solr/home
java.lang.String
/io-drive/search-solr/solr-master
说一下日志的问题,resin是原生支持日志滚动输出的。找到下面一行
另外还有访问日志access-log的设置,默认配置是1周一个文件不压缩不清除,为防止磁盘占用增长过快,需要修改cluster-default.xml文件,将如下行