【Resin一】Resin服务器部署web应用

编程技术  /  houtizong 发布于 3年前   301

工作中,在Resin服务器上部署web应用,通常有如下三种方式:

 

  • 配置多个web-app
  • 配置多个http id
  • 为每个应用配置一个propeties、xml以及sh脚本文件

配置多个web-app

 

  • 在resin.xml中,可以为一个host配置多个web-app

 

<cluster id="app">      <!--其他配置-->      <host id="" root-directory=".">          <!--Many web-apps can be configured with id..-->          <!--Resin自带的web应用,是关于Resin的介绍等-->          <web-app id="/" root-directory="webapps/ROOT"/>          <!--id是context root,它指向本地目录root-directory,root-directory的子目录包括web应用的标准目录WEB-INF-->          <web-app id="/jenkins" root-directory="/software/devsoftware/jenkins"/>          <web-app id="/books" root-directory="/software/devsoftware/book-management"/>      </host>      <!--其他配置--></cluster>
  • 访问地址分别是http://localhost:8080, http://localhost:8080/jenkins, http://localhost:8080/books
  • 这三个web应用IP、端口都一样,只是context root不同

配置多个host id

 

<cluster id="app">      <!--其他配置-->      <host id="" root-directory=".">          <!--Many web-apps can be configured with id..-->          <!--Resin自带的web应用,是关于Resin的介绍等-->          <web-app id="/" root-directory="webapps/ROOT"/>          <!--id是context root,它指向本地目录root-directory,root-directory的子目录包括web应用的标准目录WEB-INF-->          <web-app id="/jenkins" root-directory="/software/devsoftware/jenkins"/>          <web-app id="/books" root-directory="/software/devsoftware/book-management"/>      </host>            <!--www.tom.com should be mapped to a real IP address-->      <host id="www.tom.com" root-directory=".">        <web-app id="/tomapp" root-directory="/software/devsoftware/tomapp"/>      </host>      <!--其他配置-->    <host id="www.jerry.com" root-directory=".">       <web-app id="/jerryapp" root-directory="/software/devsoftware/jerryapp"/>    </host></cluster>

 

 

  • 访问tom应用,http://www.tom.com/tomapp
  • 访问jerry应用,http://www.jerry.com/jerryapp
  • 配置本机IP与www.tom.com,www.jerry.com的映射

每个应用单独的启动文件、properties以及xml配置文件

为了是Resin中的多个应用互相不干扰(多个应用修改同一个文件),可以仿照resin.sh,resin.properties以及resin.xml为每个文件配置三个单独的文件,需要注意到是:

每个应用的应用端口号,Watchdog端口号,以及Server端口号都应该不同

 

 

定义tom.properties文件

1.cp resin.properties tom.properties

2.修改app.http           : 8080为app.http          : 8081

3.修改web.http          : 8080为web.http          : 8081

4.修改app_servers      : 127.0.0.1:6800为app_servers      : 127.0.0.1:6801

 

定义tom.xml文件

1.cp resin.xml tom.xml

2.修改

  <!-- property-based Resin configuration -->  <resin:properties path="${__DIR__}/resin.properties" optional="true"/>  <resin:properties path="cloud:/resin.properties"                    optional="true" recover="true"/>

 

 

  <!-- property-based Resin configuration -->  <resin:properties path="${__DIR__}/tom.properties" optional="true"/>  <resin:properties path="cloud:/tom.properties"                    optional="true" recover="true"/>

 

 

3.修改

 

<cluster id="app"      <server-multi id-prefix="app-" address-list="${app_servers}" port="6800"/>      <!--其它配置--></cluster>

 为

<cluster id="app"      <server-multi id-prefix="app-" address-list="${app_servers}" port="6801"/>      <!--其它配置--></cluster>

 

定义tom.sh文件

1. cp resin.sh tom.sh

2. 把tom.sh的最后一行

 

exec $JAVA_EXE -jar ${RESIN_HOME}/lib/resin.jar $*

 

改为

       

exec /usr/local/java -jar ${RESIN_HOME}/lib/resin.jar -conf ${RESIN_HOME}/conf/tom.xml $*

 

 

启动

1. ./tom.sh start,那么在tom.xml中部署的应用就会启动

2.通过这种方式部署的应用,每个应用都会启动一个Resin进程

3. 每个进程都会占用内存空间,如果内存有限或者应用消耗内存(比如使用EhCache做内存缓存),那么应该一个Resin,甚至一台机器只做这一个应用的web服务器

 

 

 

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客