1、下载jdk和resin

[root@mylinux4~]#mkdir/opt/tools
[root@mylinux4~]#cd/opt/tools/
[root@mylinux4tools]#wgethttp://www.caucho.com/download/resin-3.1.13.tar.gz
[root@mylinux4tools]#ll
total80384
-rw-r--r--1rootroot72036348Oct218:35jdk-6u34-linux-x64.bin
-rw-r--r--1rootroot10273075Oct219:13resin-3.1.13.tar.gz

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

2、安装jdk

[root@mylinux4tools]#chmod+xjdk-6u34-linux-x64.bin
[root@mylinux4tools]#./jdk-6u34-linux-x64.bin
[root@mylinux4tools]#ll
total87592
-rw-r--r--1rootroot7374712Oct219:30httpd-2.2.23.tar.gz
drwxr-xr-x8rootroot4096Oct219:34jdk1.6.0_34
-rwxr-xr-x1rootroot72036348Oct218:35jdk-6u34-linux-x64.bin
-rw-r--r--1rootroot10273075Oct219:13resin-3.1.13.tar.gz
[root@mylinux4tools]#mkdir-p/usr/local/jdk
[root@mylinux4tools]#cp-ajdk1.6.0_34/*/usr/local/jdk/
[root@mylinux4tools]#cd/usr/local/jdk
[root@mylinux4jdk]#ls
binjreREADME.htmlsrc.zip
copYRIGHTlibregister.htmlTHIRDPARTYLICENSEREADME.txt
dbLICENSEregister_ja.html
includemanregister_zh_CN.html
[root@mylinux4jdk]#/usr/local/jdk/bin/java-version
javaversion"1.6.0_34"
Java(TM)SERuntimeEnvironment(build1.6.0_34-b04)
JavaHotSpot(TM)64-BitServerVM(build20.9-b04,mixedmode)

3、配置java环境变量

[root@mylinux4 jdk]# echo '# Add java env below' >>/etc/profile

[root@mylinux4 jdk]# echo 'export JAVA_HOME=/usr/local/jdk' >>/etc/profile

[root@mylinux4 jdk]# echo 'export CLAsspATH=$CLAsspATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib' >>/etc/profile

[root@mylinux4 jdk]# echo 'export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin' >>/etc/profile

[root@mylinux4 jdk]# echo 'export RESIN_HOME=/usr/local/resin' >>/etc/profile

[root@mylinux4 jdk]# echo '# java env ended' >>/etc/profile

[root@mylinux4 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

[root@mylinux4 jdk]# source /etc/profile

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

[root@mylinux4 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)

[root@mylinux4 jdk]# which java

/usr/local/jdk/bin/java

[root@mylinux4 jdk]# echo $JAVA_HOME

/usr/local/jdk

4、安装resin

[root@mylinux4jdk]#cd/opt/tools/
[root@mylinux4tools]#tar-zxfresin-3.1.13.tar.gz
[root@mylinux4tools]#ll
total87596
-rw-r--r--1rootroot7374712Oct219:30httpd-2.2.23.tar.gz
drwxr-xr-x8rootroot4096Oct219:34jdk1.6.0_34
-rwxr-xr-x1rootroot72036348Oct218:35jdk-6u34-linux-x64.bin
drwxr-xr-x14rootroot4096Oct220:01resin-3.1.13
-rw-r--r--1rootroot10273075Oct219:13resin-3.1.13.tar.gz
[root@mylinux4tools]#cp-aresin-3.1.13/usr/local/resin

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

5、配置resin

[root@mylinux4tools]#cd/usr/local/resin/conf
[root@mylinux4conf]#ll
total48
-rw-r--r--1rootroot12216Nov92012app-default.xml
-rw-r--r--1rootroot3007Nov92012development.conf
-rw-r--r--1rootroot270Nov92012fine.conf
-rw-r--r--1rootroot641Nov92012minimal.conf
-rw-r--r--1rootroot9970Nov92012resin.conf
-rw-r--r--1rootroot9970Nov92012resin.conf.orig

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

[root@mylinux4conf]#sed-n'88,146p'resin.conf
<server-default>
<!--Thehttpport-->
<httpaddress="*"port="8080"/>
<!--
-SSLportconfiguration:
-
-<httpaddress="*"port="8443">
-<openssl>
-<certificate-file>keys/gryffindor.crt</certificate-file>
-<certificate-key-file>keys/gryffindor.key</certificate-key-file>
-<password>test123</password>
-</openssl>
-</http>
-->
<!--
-TheJVMarguments
-->
<jvm-arg>-Xmx256m</jvm-arg>
<jvm-arg>-Xss1m</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
<!--
-Uncommenttoenableadminheapdumps
-<jvm-arg>-agentlib:resin</jvm-arg>
-->
<!--
-argumentsforthewatchdogprocess
-->
<watchdog-jvm-arg>-Dcom.sun.management.jmxremote</watchdog-jvm-arg>
<watchdog-port>6600</watchdog-port>
<!--
-ConfigurestheminimumfreememoryallowedbeforeResin
-willforcearestart.
-->
<memory-free-min>1M</memory-free-min>
<!--Maximumnumberofthreads.-->
<thread-max>256</thread-max>
<!--Configuresthesockettimeout-->
<socket-timeout>65s</socket-timeout>
<!--Configuresthekeepalive-->
<keepalive-max>128</keepalive-max>
<keepalive-timeout>15s</keepalive-timeout>
<!--
-Ifstartingbin/resinasrootonUnix,specifytheusername
-andgroupnameforthewebserveruser.
-
-<user-name>resin</user-name>
-<group-name>resin</group-name>
-->
</server-default>

然后重新配置该标签:

[root@mylinux4conf]#sed-i'88,146d'resin.conf
[root@mylinux4conf]#viresin.conf
[root@mylinux4conf]#sed-n'87,98p'resin.conf
<serverid='test'address='192.168.100.182'port='6911'watchdog-port="6921">
<httpaddress="*"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

[root@mylinux4conf]#/usr/local/resin/bin/httpd.sh-serverteststart
Resin/3.1.13started-server'test'forwatchdogat127.0.0.1:6921
[root@mylinux4conf]#
[root@mylinux4conf]#netstat-lntup|egrep"6911|6921|8080"
tcp00:::8080:::*LISTEN1528/java
tcp00::ffff:192.168.100.182:6911:::*LISTEN1528/java
tcp00::ffff:127.0.0.1:6921:::*LISTEN1499/java

7、浏览器访问web页面

wKiom1fxEC-ThLyWAAEQlfjiL94687.jpg-wh_50

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

[root@mylinux4 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

wKiom1fxEDWz5MLUAAGJQzKCf-Y121.jpg-wh_50

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

wKioL1fxEDmjHxndAAH2PQlWoQs239.jpg-wh_50

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

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

1)首先注册一个账户

wKiom1fxH8Dj01NoAAHaKSoGyCM169.jpg-wh_50

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

wKioL1fxIATTY6XRAAJPAgJanbY540.jpg-wh_50

这里会生成一段代码,将代码插入到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服务,然后输入用户名密码登录。

wKioL1fxHtuhNS-gAAKDRcq-vPc414.jpg-wh_50

wKioL1fxHuKRCkUyAAL-ycw7IwM806.jpg-wh_50


8、resin启动脚本

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

[root@mylinux4contrib]#ll/usr/local/resin/contrib/
total12
-rw-r--r--1rootroot2678Nov92012build.xml
-rw-r--r--1rootroot1792Nov92012init.resin.in
-rw-r--r--1rootroot1079Nov92012init.resin-iptables
[root@mylinux4contrib]#vi/usr/local/resin/contrib/init.resin.in
[root@mylinux4contrib]#cpinit.resin.in/etc/init.d/resin
[root@mylinux4contrib]#chmod+x/etc/init.d/resin
[root@mylinux4contrib]#/etc/init.d/resinrestart
Stoppingresin:.
Startingresin:.
[root@mylinux4contrib]#netstat-lntup|egrep"6911|6921|8080"
tcp00:::8080:::*LISTEN1665/java
tcp00::ffff:192.168.100.182:6911:::*LISTEN1665/java
tcp00::ffff:127.0.0.1:6921:::*LISTEN1640/java

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

[root@mylinux4contrib]#cat/etc/init.d/resin
#!/bin/sh
#
#LinuxstartupscriptforResin
#chkconfig:3458515
#description:ResinisaJavaWebserver.
#processname:wrapper.pl
#
#Toinstall,configurethisfileasneededandcopyinit.resin
#to/etc/rc.d/init.dasresin.Thenuse"#/sbin/chkconfigresinreset"
#
JAVA_HOME=/usr/local/jdk
RESIN_HOME=/usr/local/resin
exportJAVA_HOMERESIN_HOME
JAVA=$JAVA_HOME/bin/java
#
#IfyouwanttostarttheentireResinprocessasadifferentuser,#setthistotheusername.Ifyouneedtobindtoaprotectedport,#e.g.port80,youcan'tuseUSER,butwillneedtousebin/resin.
#
USER=
#
#Settotheserveridtostart
#
SERVER="-servertest"
#
ARGS="-resin-home$RESIN_HOME$SERVER"
iftest-r/lib/lsb/init-functions;then
./lib/lsb/init-functions
else
log_daemon_msg(){
if[-z"$1"];then
return1
fi
if[-z"$2"];then
echo-n"$1:"
return
fi

echo-n"$1:$2"
}

log_end_msg(){
[-z"$1"]&&return1
if[$1-eq0];then
echo"."
else
echo"Failed!"
fi

return$1
}
fi
case"$1"in
start)
log_daemon_msg"Startingresin"
iftest-n"$USER";then
su$USER-c"$JAVA-jar$RESIN_HOME/lib/resin.jar$ARGsstart"1>/dev/null2>/dev/null
else
$JAVA-jar$RESIN_HOME/lib/resin.jar$ARGsstart1>/dev/null2>/dev/null
fi
log_end_msg$?
;;
stop)
log_daemon_msg"Stoppingresin"
iftest-n"$USER";then
su$USER-c"$JAVA-jar$RESIN_HOME/lib/resin.jar$ARGsstop"1>/dev/null2>/dev/null
else
$JAVA-jar$RESIN_HOME/lib/resin.jar$ARGsstop1>/dev/null2>/dev/null
fi
log_end_msg$?
;;
restart)
$0stop
$0start
;;
*)
echo"Usage:$0{start|stop|restart}"
exit1
esac
exit0

9、resin加入开机启动项

[root@mylinux4contrib]#chkconfig--addresin
[root@mylinux4contrib]#chkconfigresinon
[root@mylinux4contrib]#chkconfig--listresin
resin0: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日志的一个示例:

[root@mylinux4 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"

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

  1. android – 基于JVM的语言,没有语言运行时

    ProGuard可以删除特定程序中未使用的部分运行时.如果速度和时间非常关键,另一种方法是使用NDK.

  2. Butterknife 8.1.0在Android Studio 2.1.2中不能与JDK 1.8一起使用

    如果是,我需要做些什么才能使其正常工作?

  3. android-studio – 安卓工作室更新后的问题

    解决方法我在AndroidStudio中花了很多时间来处理这个问题.看来这个问题是由用于编译项目的java版本的差异引起的.最后,在“项目结构”设置窗口中,我在SDK位置选项卡中启用了“使用嵌入式JDK(推荐)”.并快乐编译:)

  4. android – 如何在gradle中调整dex内存的jvm args?

    我有一个Android项目,它在dex步骤中当前没有堆空间:我想在gradle中提高jvmmin/max设置,就像我们以前使用Maven插件一样:但是在gradle中的android插件的文档中我只看到这些选项:有办法吗?

  5. Android Studio在启动时修改./idea/vcs.xml

    因为不建议忽略AndroidStudio中的整个.idea文件夹,所以大多数文件都由git跟踪.然而奇怪的是,每次启动后,即使已经存在数十个,也会向vcs.xml添加相同的行.这很快变老了.这种行为是有目的还是仅仅是一个错误?AndroidStudio还可以在启动时阻止它进行此类修改吗?

  6. Android:从应用程序内启动Firefox

    只是想知道是否有人知道启动Firefox移动浏览器的正确意图.我无法在任何地方找到它,所以我希望有人知道.谢谢解决方法这将为Firefox创建一个意图:

  7. android – Timer()作为守护进程与非守护进程

    什么时候应该在Android应用程序中作为守护进程启动计时器?

  8. Android的Firefox源代码

    我最近看到了FirefoxforAndroid的发布.似乎firefox有几个很棒的功能和性能改进.我想知道Android平台的源代码是否已经发布,如果是,我可以在哪里获得最新的源代码?

  9. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  10. JVM的常用命令汇总

    监测java应用,最方便的就是直接使用jdk提供的现成工具,在jdk的安装的bin目录下,已经提供了多种命令行监测工具。本文为大家总结了几个JVM的常用命令,需要的可以参考一下

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部