工作中,在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服务器
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com