CentOS 6.5上安装Resin 3.1

1、下载jdk和resin

[[email protected] ~]# mkdir /opt/tools
[[email protected] ~]# cd /opt/tools/
[[email protected] tools]# wget http://www.caucho.com/download/resin-3.1.13.tar.gz 
[[email protected] tools]# ll
total 80384
-rw-r--r-- 1 root root 72036348 Oct  2 18:35 jdk-6u34-linux-x64.bin
-rw-r--r-- 1 root root 10273075 Oct  2 19:13 resin-3.1.13.tar.gz

(因为jdk需要到oracle官网下载,需要登录oracle账号,所以就不再说明下载过程了)

2、安装jdk

[[email protected] tools]# chmod +x jdk-6u34-linux-x64.bin 
[[email protected] tools]# ./jdk-6u34-linux-x64.bin 
[[email protected] tools]# ll
total 87592
-rw-r--r-- 1 root root  7374712 Oct  2 19:30 httpd-2.2.23.tar.gz
drwxr-xr-x 8 root root     4096 Oct  2 19:34 jdk1.6.0_34
-rwxr-xr-x 1 root root 72036348 Oct  2 18:35 jdk-6u34-linux-x64.bin
-rw-r--r-- 1 root root 10273075 Oct  2 19:13 resin-3.1.13.tar.gz
[[email protected] tools]# mkdir -p /usr/local/jdk
[[email protected] tools]# cp -a jdk1.6.0_34/* /usr/local/jdk/
[[email protected] tools]# cd /usr/local/jdk
[[email protected] jdk]# ls
bin        jre      README.html          src.zip
COPYRIGHT  lib      register.html        THIRDPARTYLICENSEREADME.txt
db         LICENSE  register_ja.html
include    man      register_zh_CN.html
[[email protected] jdk]# /usr/local/jdk/bin/java -version
java version "1.6.0_34"
Java(TM) SE Runtime Environment (build 1.6.0_34-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.9-b04, mixed mode)

3、配置java环境变量

[[email protected] jdk]# echo ‘# Add java env below‘ >>/etc/profile

[[email protected] jdk]# echo ‘export JAVA_HOME=/usr/local/jdk‘ >>/etc/profile

[[email protected] jdk]# echo ‘export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib‘ >>/etc/profile

[[email protected] jdk]# echo ‘export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin‘ >>/etc/profile

[[email protected] jdk]# echo ‘export RESIN_HOME=/usr/local/resin‘ >>/etc/profile

[[email protected] jdk]# echo ‘# java env ended‘ >>/etc/profile

[[email protected] jdk]# tail -6 /etc/profile

# Add java env below

export JAVA_HOME=/usr/local/jdk

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

export RESIN_HOME=/usr/local/resin

# java env ended

[[email protected] jdk]# source /etc/profile

处理完成之后,进行下面的测试:

[[email protected] jdk]# java -version

java version "1.6.0_34"

Java(TM) SE Runtime Environment (build 1.6.0_34-b04)

Java HotSpot(TM) 64-Bit Server VM (build 20.9-b04, mixed mode)

[[email protected] jdk]# which java

/usr/local/jdk/bin/java

[[email protected] jdk]# echo $JAVA_HOME

/usr/local/jdk

4、安装resin

[[email protected] jdk]# cd /opt/tools/
[[email protected] tools]# tar -zxf resin-3.1.13.tar.gz 
[[email protected] tools]# ll
total 87596
-rw-r--r--  1 root root  7374712 Oct  2 19:30 httpd-2.2.23.tar.gz
drwxr-xr-x  8 root root     4096 Oct  2 19:34 jdk1.6.0_34
-rwxr-xr-x  1 root root 72036348 Oct  2 18:35 jdk-6u34-linux-x64.bin
drwxr-xr-x 14 root root     4096 Oct  2 20:01 resin-3.1.13
-rw-r--r--  1 root root 10273075 Oct  2 19:13 resin-3.1.13.tar.gz
[[email protected] tools]# cp -a resin-3.1.13 /usr/local/resin

resin如果不和apache配合生成模块,则不需要编译。

5、配置resin

[[email protected] tools]# cd /usr/local/resin/conf
[[email protected] conf]# ll
total 48
-rw-r--r-- 1 root root 12216 Nov  9  2012 app-default.xml
-rw-r--r-- 1 root root  3007 Nov  9  2012 development.conf
-rw-r--r-- 1 root root   270 Nov  9  2012 fine.conf
-rw-r--r-- 1 root root   641 Nov  9  2012 minimal.conf
-rw-r--r-- 1 root root  9970 Nov  9  2012 resin.conf
-rw-r--r-- 1 root root  9970 Nov  9  2012 resin.conf.orig

查看一下默认配置中的server标签:

[[email protected] conf]# sed -n ‘88,146p‘ resin.conf
    <server-default>
      <!-- The http port -->
      <http address="*" port="8080"/>
      <!--
         - SSL port configuration:
         -
         - <http address="*" port="8443">
         -   <openssl>
         -     <certificate-file>keys/gryffindor.crt</certificate-file>
         -     <certificate-key-file>keys/gryffindor.key</certificate-key-file>
         -     <password>test123</password>
         -   </openssl>
         - </http>
        -->
      <!--
         - The JVM arguments
        -->
      <jvm-arg>-Xmx256m</jvm-arg>  
      <jvm-arg>-Xss1m</jvm-arg>
      <jvm-arg>-Xdebug</jvm-arg>
      <jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
      <!--
         - Uncomment to enable admin heap dumps
         - <jvm-arg>-agentlib:resin</jvm-arg>
        -->
      <!--
         - arguments for the watchdog process
        -->
      <watchdog-jvm-arg>-Dcom.sun.management.jmxremote</watchdog-jvm-arg>
      <watchdog-port>6600</watchdog-port>
      <!--
         - Configures the minimum free memory allowed before Resin
         - will force a restart.
        -->
      <memory-free-min>1M</memory-free-min>
      <!-- Maximum number of threads. -->
      <thread-max>256</thread-max>
      <!-- Configures the socket timeout -->
      <socket-timeout>65s</socket-timeout>
      <!-- Configures the keepalive -->
      <keepalive-max>128</keepalive-max>
      <keepalive-timeout>15s</keepalive-timeout>
      <!--
         - If starting bin/resin as root on Unix, specify the user name
         - and group name for the web server user.
         -
         - <user-name>resin</user-name>
         - <group-name>resin</group-name>
        -->
    </server-default>

然后重新配置该标签:

[[email protected] conf]# sed -i ‘88,146d‘ resin.conf
[[email protected] conf]# vi resin.conf
[[email protected] conf]# sed -n ‘87,98p‘ resin.conf
    <server id=‘test‘ address=‘192.168.100.182‘ port=‘6911‘ watchdog-port="6921">
      <http address="*" port="8080" />
 <jvm-arg>-Xmx256m</jvm-arg>  #最大堆大小
 <jvm-arg>-Xss1m</jvm-arg>   #设置每个线程的stack大小
 <jvm-arg>-Xdebug</jvm-arg>
 <jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
 <memory-free-min>1M</memory-free-min>  #当jvm的内存小于这个指定值,resin服务会graceful重启,来释放泄露的内存空间
 <thread-max>256</thread-max>  #最大线程数量
 <socket-timeout>65s</socket-timeout>  #读写socket最大超时时间
 <keepalive-max>128</keepalive-max>  #最大长连接数量
 <keepalive-timeout>15s</keepalive-timeout>  #长连接超时时间
    </server>

6、启动resin

[[email protected] conf]# /usr/local/resin/bin/httpd.sh -server test start
Resin/3.1.13 started -server ‘test‘ for watchdog at 127.0.0.1:6921
[[email protected] conf]# 
[[email protected] conf]# netstat -lntup |egrep "6911|6921|8080"
tcp        0      0 :::8080                     :::*                        LISTEN      1528/java           
tcp        0      0 ::ffff:192.168.100.182:6911 :::*                        LISTEN      1528/java           
tcp        0      0 ::ffff:127.0.0.1:6921       :::*                        LISTEN      1499/java

7、浏览器访问web页面

这是默认的web页面,web文件默认路径为安装目录下的webapps/ROOT.

[[email protected] contrib]# ll /usr/local/resin/webapps/ROOT/

total 8

-rw-r--r-- 1 root root 1507 Nov  9  2012 index.jsp

drwxr-xr-x 5 root root 4096 Oct  2 21:35 WEB-INF

里面第一个链接打开是resin文档页面,包含resin安装以及配置等很多文档介绍。

第二个链接是resin的管理页面,resin提供了一个和haproxy类似的状态监控页面。

要想登录这个页面,可以在这里注册,生成账号信息,然后将代码插入到resin的配置文件中,然后重启服务即可。

1)首先注册一个账户

输入用户名和密码,然后提交。

这里会生成一段代码,将代码插入到resin.conf中,然后修改resin.conf中一处配置即可。

2)修改resin配置

<web-app id="/resin-admin" root-directory="${resin.home}/php/admin">

<!--

- Administration application /resin-admin

-->

<prologue>

<resin:set var="resin_admin_external" value="false"/> #将这里的false改为true

<resin:set var="resin_admin_insecure" value="true"/>

</prologue>

</web-app>

<management path="${resin.root}/admin">

<user name="admin" password="password" disable="true"/> #将这里的true删掉,改为空

<user name="admin" password="En7q3NfDAKtXllISHa6+Ew=="/> #这是上面第一步生成的代码,只添加这一行即可,默认已经有<management>标签了

<resin:if test="${resin.professional}">

<deploy-service/>

<jmx-service/>

<log-service/>

<xa-log-service/>

</resin:if>

</management>

3)重启resin服务,然后输入用户名密码登录。

8、resin启动脚本

在resin的安装目录下的conrtib下默认有init.resin.in和init.resin-iptables文件,一个是resin的启动脚本模板,一个是防火墙的配置,只需要稍微修改一下就可以使用。

[[email protected] contrib]# ll /usr/local/resin/contrib/
total 12
-rw-r--r-- 1 root root 2678 Nov  9  2012 build.xml
-rw-r--r-- 1 root root 1792 Nov  9  2012 init.resin.in
-rw-r--r-- 1 root root 1079 Nov  9  2012 init.resin-iptables
[[email protected] contrib]# vi /usr/local/resin/contrib/init.resin.in
[[email protected] contrib]# cp init.resin.in /etc/init.d/resin
[[email protected] contrib]# chmod +x /etc/init.d/resin 
[[email protected] contrib]# /etc/init.d/resin restart
Stopping resin: .
Starting resin: .
[[email protected] contrib]# netstat -lntup |egrep "6911|6921|8080"
tcp        0      0 :::8080                     :::*                        LISTEN      1665/java           
tcp        0      0 ::ffff:192.168.100.182:6911 :::*                        LISTEN      1665/java           
tcp        0      0 ::ffff:127.0.0.1:6921       :::*                        LISTEN      1640/java

下面是调整后的脚本内容:

[[email protected] contrib]# cat /etc/init.d/resin 
#!/bin/sh
#
# Linux startup script for Resin
# chkconfig: 345 85 15
# description: Resin is a Java Web server.
# processname: wrapper.pl
#
# To install, configure this file as needed and copy init.resin
# to /etc/rc.d/init.d as resin.  Then use "# /sbin/chkconfig resin reset"
#
JAVA_HOME=/usr/local/jdk
RESIN_HOME=/usr/local/resin
export JAVA_HOME RESIN_HOME
JAVA=$JAVA_HOME/bin/java
#
# If you want to start the entire Resin process as a different user,
# set this to the user name.  If you need to bind to a protected port,
# e.g. port 80, you can‘t use USER, but will need to use bin/resin.
#
USER=
#
# Set to the server id to start
#
SERVER="-server test"
#
ARGS="-resin-home $RESIN_HOME $SERVER"
if test -r /lib/lsb/init-functions; then
  . /lib/lsb/init-functions
else
  log_daemon_msg () {
      if [ -z "$1" ]; then
          return 1
      fi
      if [ -z "$2" ]; then
          echo -n "$1:"
          return
      fi
    
      echo -n "$1: $2"
  }
  
  log_end_msg () {
      [ -z "$1" ] && return 1
      if [ $1 -eq 0 ]; then
        echo " ."
      else
        echo " failed!"
      fi
    
    return $1
  }
fi
case "$1" in
  start)
log_daemon_msg "Starting resin"
if test -n "$USER"; then
    su $USER -c "$JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS start" 1>/dev/null 2>/dev/null
else
    $JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS start 1>/dev/null 2>/dev/null
        fi
log_end_msg $?
;;
  stop)
log_daemon_msg "Stopping resin"
if test -n "$USER"; then
    su $USER -c "$JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS stop" 1>/dev/null 2>/dev/null
else
    $JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS stop 1>/dev/null 2>/dev/null
        fi
log_end_msg $?
;;
  restart)
$0 stop
$0 start
;;
  *)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

9、resin加入开机启动项

[[email protected] contrib]# chkconfig --add resin
[[email protected] contrib]# chkconfig resin on
[[email protected] contrib]# chkconfig --list resin
resin          0:off1:off2:on3:on4:on5:on6:off

10、resin日志设置

resin的日志默认保存在安装目录下的logs/access.log中,格式如下:

<access-log path="logs/access.log"

format=‘%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"‘

rollover-period="1W"/>

下面是resin日志的一个示例:

[[email protected] contrib]# tail -f ../logs/access.log

192.168.100.1 - - [02/Oct/2016:21:36:30 +0800] "GET /resin-admin HTTP/1.1" 302 78 "http://192.168.100.182:8080/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:21:36:30 +0800] "GET /resin-admin/ HTTP/1.1" 200 2786 "http://192.168.100.182:8080/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:21:46:48 +0800] "GET /resin-doc HTTP/1.1" 302 76 "http://192.168.100.182:8080/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:21:46:48 +0800] "GET /resin-doc/ HTTP/1.1" 200 15227 "http://192.168.100.182:8080/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:21:46:52 +0800] "GET /resin-doc/doc/install.xtp HTTP/1.1" 200 6778 "http://192.168.100.182:8080/resin-doc/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:21:47:30 +0800] "GET /resin-admin HTTP/1.1" 302 78 "http://192.168.100.182:8080/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:21:47:30 +0800] "GET /resin-admin/ HTTP/1.1" 200 2786 "http://192.168.100.182:8080/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:21:48:01 +0800] "GET /resin-admin HTTP/1.1" 302 78 "http://192.168.100.182:8080/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:21:48:01 +0800] "GET /resin-admin/ HTTP/1.1" 200 2786 "http://192.168.100.182:8080/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

192.168.100.1 - - [02/Oct/2016:22:15:55 +0800] "POST /resin-admin/j_security_check?j_uri=status.php HTTP/1.1" 200 2861 "http://192.168.100.182:8080/resin-admin/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

时间: 2024-10-13 04:54:10

CentOS 6.5上安装Resin 3.1的相关文章

在Linux CentOS 6.6上安装Python 2.7.9

在Linux CentOS 6.6上安装Python 2.7.9 CentOS 6.6自带的是Python 2.6.6,而编译llvm需要Python 2.7以上. checking for python... /usr/bin/python checking for python >= 2.7... not found configure: error: found python 2.6.6 (/usr/bin/python); required >= 2.7 yum中最新的也是Python

在CentOS 6.4上安装Puppet配置管理工具

在CentOS 6.4上安装Puppet配置管理工具 linux, puppetAdd comments 五052013 上篇说了下在ubuntu12.04上安装puppet,安装的版本为puppet2.7.11版本,今天尝试了下在CentOS6.4系统上安装puppet 3.1.1版本,本文参考chenshake的文章 ? 1 2 3 4 OS:centso 6.4 X64 Puppet 3.1.1 Puppet master: master.canghai.com Puppet client

CentOS 6.5上安装docker与docker对中文字符集的支持

一.CentOS 6.5上安装docker 在CentOS 6.5 还不能够直接通过yum install -y docker 来安装docker服务 在一些文档中有看到说是因为内核太低的原因导致的,因为docker至少要做3.8以上的版本才能安装, 但是我发现其实并不需要升级内核就可以实现docker的安装不过,也有可能我的安装存在偶然性, 但是我还是记录一下,以防日后忘记. 1.先查看下你的系统内核是多少 # uname -r 2.6.32-431.el6.x86_64 我的是CentOS

CentOS 6.9上安装mysql-5.6.37

CentOS 6.9上安装mysql-5.6.37 1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/data,而后需要创建/data/mysqldata目录做为mysql数据的存放目录. [[email protected] /]# mkdir -p /data/mysqldata 2.新建用户以安全方式运行进程: [[email protected] ~]# useradd mysql -s /sbin/nologin -

如何在CentOS 5.5上安装ruby 1.8.7

原文链接:http://heatware.net/linux-unix/how-to-install-ruby-1-8-7-centos-5-5/ 你曾经试过在CentOS 5.5上面运行 yum install ruby 命令吗?如果你使用的是默认的应用库配置,你会发现你安装的是老版本的Ruby 1.8.5.如果你还没有准备好升级到Ruby 1.9,而是准备安装Ruby 1.8.7,请往下看! 1 yum install -y gcc zlib zlib-devel 2 wget ftp://

CentOS 5.3上安装Apache+php+Mysql+phpMyAdmin

1.系统下载CentOS 开发社区已发布了新的 5.3 版本.CentOS 5.3 基于 Red Hat Enterpris Linux 5.3.0,其中包括 Kernel 2.6.18.Apache 2.2.PHP 5.1.6.MySQL 5.0.PostgreSQL 8.GNOME 2.16.KDE 3.5.OpenOffice.org 2.3.Firefox 3.0.Evolution 2.12 等等.此外,CentOS 5.3 更新了美工设计,并根据用户的请求恢复了 Contrib 仓库

在vmware player 下的centos 6.5上安装xfce4

Xfce是linux系统下的一个桌面环境,安装方法如下: 利用系统自带的yum源,找不到xfce,更新yum源, #wget http://mirrors.ustc.edu.cn/epel/6Server/x86_64/epel-release-6-8.noarch.rpm #rpm -ivh epel-release-6-8.noarch.rpm #yum search xfce4 #yum groupinfo Xfce #yum groupinstall Xfce #yum install

CentOS 6.5上安装GlassFish4.0 过程笔记

CentOS 6.5上安装GlassFish4.0 过程笔记 1.安装JDK, 注意操作系统的位数, 64 or 32: [[email protected] ~]# mkdir /usr/java  [[email protected] ~]# cd /usr/java[[email protected] java]#rpm -Uvh /bak/jdk-7u55-linux-x64.rpm  [[email protected] java]# JAVA_HOME=/usr/java/jdk1.

如何在CentOS 5/6上安装EPEL源

原文:http://os.51cto.com/art/201312/420725.htm 如何在CentOS 5/6上安装EPEL源 2013-12-04 14:45 译者:NearTan Linux中国 字号:T | T 我们可以很容易地通过yum命令从EPEL源上获取上万个在CentOS自带源上没有的软件.在文本中,我将展示在CentOS下如何安装EPEL源. AD: EPEL 是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额