Linux Ubuntu 安装 Resin4.0.49

2016 年 10 月 21 日 0 条评论 4.04k 次阅读 0 人点赞

一、Resin简介

Resin官网地址:http://caucho.com/

Resin源码包下载地址:http://caucho.com/products/resin/download

Resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,恩,好像还支持php,速度非常快。

Resin本身包含了一个支持HTTP/1.1的WEB服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼APACHE SERVER。许多站点都是使用该WEB服务器构建的

Resin也可以和许多其他的WEB服务器一起工作,比如Apache server和IIS等。Resin支持Servlets 2.3标准和JSP 1.2标准。熟悉ASP和PHP的用户可以发现用Resin来进行JSP编程是件很容易的事情

Resin支持负载平衡(Load balancing),可以增加WEB站点的可靠性。方法是增加服务器的数量。比如一台SERVER的错误率是1%的话,那么支持负载平衡的两个Resin服务器就可以使错误率降到0.01%

版本区别

resin 普通版本和pro版本主要区别是 pro支持缓存和负载均衡。pro因为有强大的cache功能,独立作为web服务器处理静态页面性能都可以和apache有一比。但普通版本独立作为web服务器性能就要差一些。当然可以使用apache+resin的方案借助apache的缓存功能提高性能。 但负载均衡就是普通版不能比的了。

二、部署的平台

[root@Resin src]# uname -r
3.13.0-65-generic
[root@Resin src]# service iptables status
iptables: unrecognized service

三、Resin的源码安装
1、安装依赖环境JDK
下载对应系统的JDK压缩包,复制到 /usr/local/ 目录下,并解压,如果你是Ubuntu系统。可以安装系统自带的JDK

[root@Resin src]# tar -zxvf jdk1.8.0_45.tar.gz -C /usr/local/
[root@Resin src]# cat > /etc/profile.d/jdk.sh << EOF > JAVA_HOME=/usr/local/jdk8
> CLASSPATH=\$JAVA_HOME/lib:\$JAVA_HOME/jre/lib
> PATH=\$PATH:\$JAVA_HOME/bin
> export PATH JAVA_HOME CLASSPATH
> EOF
[root@Resin src]# source /etc/profile
[root@Resin src]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

2、编译Resin

[root@Resin src]# tar -zxvf resin-pro-4.0.49.tar.gz 
[root@Resin src]# cd resin-pro-4.0.49
[root@Resin resin-pro-4.0.49]# ./configure --prefix=/usr/local/resin --with-java-home=/usr/local/jdk8 --enable-64bit
[root@Resin resin-pro-4.0.49]# make && make install
Resin Configuration Summary:
 
  RESIN       : 4.0.49
    home      : /usr/local/resin
    root      : /usr/local/resin
    conf      : /usr/local/resin/conf
    log       : /usr/local/resin/log
    plugins   : common resin_os resin 
    init      : /etc/init.d/resin
 
  JAVA_HOME   : /usr/local/jdk8
 
  JNI         : 64-bit
    include       : -I/usr/local/jdk8/include -I/usr/local/jdk8/include/linux
    CFLAGS        : 
    cflags_shlib  : -fpic
    ld_shlib      : gcc
    ldflags_shlib : -shared -fPIC -m64
    libs_shlib    : 
    epoll() for keepalives
 
  OPENSSL     : No OpenSSL has been found
    *** OpenSSL libraries cannot be compiled ***

3、启动Resin服务

#第一种方法启动
[root@Resin ~]# /usr/local/resin/bin/resin.sh start
Resin/4.0.49 launching watchdog at 127.0.0.1:6600
Resin/4.0.49 started -server 'app-0' with watchdog at 127.0.0.1:6600
 
#第二种方法启动
[root@Resin ~]# service resin start

4、验证Resin

[root@Resin ~]# netstat -tnlp |grep java
tcp        0      0 127.0.0.1:6800              0.0.0.0:*                   LISTEN      4338/java           
tcp        0      0 127.0.0.1:6600              0.0.0.0:*                   LISTEN      4292/java           
tcp        0      0 :::8080                     :::*                        LISTEN      4338/java

5、浏览器访问Resin
http://服务器IP:8080/
1
5.2 点击【/resin-admin】进入登陆、注册页面;如下图所示
如果登陆Resin Admin显示403错误,则需要修改下配置文件,配置目录中有个resin.properties文件,就是配置文件。
修改下面部分配置即可
admin_external : true
admin_insecure : true
admin_enable : true
2
5.3 由于首次登陆Resin还没有用户,所以先注册一个管理员账号;如下图所示
2 3
5.4 点击【Create Configuration File】;如若用户创建成功,提示如下图所示
4
5.5 注册用户创建成功后会在/usr/local/resin/conf目录下生成一个admin-users.xml.generated的模板文件,这个模板不能直接使用,我们需要将其改成为admin-users.xml文件

[root@Resin ~]# cd /usr/local/resin/conf/
[root@Resin conf]# cp admin-users.xml.generated admin-users.xml

5

6
四、简单的Resin部署web测试环境
这一步网上有很多错误的例子,
1、拷贝自已的项目到Resin的webapps目录下 如果你的是个 war包,则直接上传到 webapps 目录,然后重启Resin就会自动创建目录并解压  不用改配置文件哈。

[root@Resin ~]# mkdir /usr/local/resion/webapps/api
[root@Resin ~]# cat /usr/local/resion/webapps/api/index.jsp 
<html>
  <head><title>TomcatA</title></head>
  <body>

<h1><font color="red">TomcatA </font></h1>


<table align="centre" border="1">

<tr>

<td>Session ID</td>

          <% session.setAttribute("abc","abc"); %>

<td><%= session.getId() %></td>

      </tr>


<tr>

<td>Created on</td>


<td><%= session.getCreationTime() %></td>

     </tr>

    </table>

  </body>
</html>

2、测试
7

五、Resin4基于目录和域名的部署
1、同一个域名下多个子app,根据url层级来指向
http://www.allentuns.com/
http://www.allentuns.com/app1
http://www.allentuns.com/app2
【这种目录的话是不需要改配置文件的。直接把压缩包丢到webapps目录就可以了】

2、多个域名对应指定的host,根据域名来指定
http://www.aaa.com/
http://www.bbb.com/

#第一个appserver
    <host id="www.aaa.com" root-directory=".">
      <!-- - webapps can be overridden/extended in the resin.xml -->
      <web-app id="/" root-directory="webapps/aaa/ROOT"/>
 
    </host>
    #第二个appserver
        <host id="www.bbb.com" root-directory=".">
      <!-- - webapps can be overridden/extended in the resin.xml -->
      <web-app id="/" root-directory="webapps/bbb/ROOT"/>
 
    </host>

六、Resin4基于不同端口的部署

[root@Resin ~]# cd /usr/local/resion/conf/
[root@Resin conf]# vim resin.xml 
#只展示重点部分
#注释:Resin默认端口是8080;添加如下代码,在本机配置两个实例端口为8081、8082
<cluster id="app1">
    <!-- define the servers in the cluster -->
    <server-multi id-prefix="app1" address-list="${app1_servers}" port="6801"/>
    <!-- the default host, matching any host name -->
        <host id="" root-directory=".">
              <!-- - webapps can be overridden/extended in the resin.xml -->
      <web-app id="/" root-directory="/var/www/html/app1/ROOT"/>
    </host>
</cluster>
 
<cluster id="app2">
    <!-- define the servers in the cluster -->
    <server-multi id-prefix="app2" address-list="${app2_servers}" port="6802"/>
    <!-- the default host, matching any host name -->
        <host id="" root-directory=".">
              <!-- - webapps can be overridden/extended in the resin.xml -->
      <web-app id="/" root-directory="/var/www/html/app2/ROOT"/>
    </host>
</cluster>

修改当前目录vim resin.properties 修改如下内容:

# app-tier Triad servers: app-0 app-1 app-2
app_servers       : 127.0.0.1:6800
app1_servers      : 127.0.0.1:6801
app2_servers      : 127.0.0.1:6802
 
# Use overrides for individual server control, for example: app-0.http : 8081
app.http           : 8080
app1.http          : 8081
app2.http          : 8082

重新启动Resin服务使其重新加载Resin配置文件

[root@Resin conf]# service resin restart
Stopping resin: .
Starting resin: .

查看多端口Resin服务是否启动

[root@Resin ~]# netstat -tnlp |grep java
tcp        0      0 127.0.0.1:6800              0.0.0.0:*                   LISTEN      2418/java           
tcp        0      0 127.0.0.1:6801              0.0.0.0:*                   LISTEN      2431/java           
tcp        0      0 127.0.0.1:6802              0.0.0.0:*                   LISTEN      2439/java           
tcp        0      0 127.0.0.1:6600              0.0.0.0:*                   LISTEN      2371/java           
tcp        0      0 :::8080                     :::*                        LISTEN      2418/java           
tcp        0      0 :::8081                     :::*                        LISTEN      2431/java           
tcp        0      0 :::8082                     :::*                        LISTEN      2439/java

建立Resin测试页面并访问页面

[root@Resin ~]# cat /var/www/html/app1/ROOT/index.jsp 
<%@ page language="java" %>
<html>
  <head><title>app1 port 8081</title></head>
  <body>
    <h1><font color="red">app1 port 8081 </font></h1>
    <table align="centre" border="1">
      <tr>
          <td>Session ID</td>
          <% session.setAttribute("abc","abc"); %>
          <td><%= session.getId() %></td>
      </tr>
      <tr>
          <td>Created on</td>
          <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>
[root@Resin ~]# cat /var/www/html/app2/ROOT/index.jsp 
<%@ page language="java" %>
<html>
  <head><title>app2 port 8082</title></head>
  <body>
     <h1><font color="red">app2 port 8082 </font></h1>
     <table align="centre" border="1">
      <tr>
          <td>Session ID</td>
          <% session.setAttribute("abc","abc"); %>
          <td><%= session.getId() %></td>
      </tr>
      <tr>
          <td>Created on</td>
          <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>

8

9

雷雷

这个人太懒什么东西都没留下

文章评论(0)

(Spamcheck Enabled)