1     环境搭建

1.1     MacOS下搭建Resin+Eclipse开发环境

1.1.1 安装Resin

resin installation quick start

http://www.caucho.com/resin-4.0/admin/starting-resin.xtp#OtherUnixLinuxSolarisandMacOSX

一:下载、编译、安装Resin-Pro4

1.下载Resin Pro (www.caucho.com),解压到任意目录

2.打开控终端(控制台),进入解压后的Resin目录,执行以下两条命令,用于设置Java环境

JAVA_HOME=/Library/java/Home

export JAVA_HOME

3.修改Resin目录下configure中openssl的查询路径(MacOS10.11以后默认不引入ssl了)




resin配置 jmx_远程调试


4.编译Resin,执行以下命令(编译的好处是可使用JNI提升Resin的效率)

chmod 777 configure

./configure -prefix=/usr/local/resin -enable-64bit-jni

本地调试用:./configure -prefix=/Users/huangjun/Documents/Projects/Servers/resin4 -enable-64bit-jni

make install

5.编译过程如未报错的话,Resin已部署在/opt/resin

6.到bin目录下Execute sudo resinctl start

or run java -jar lib/resin.jar start

7.Browse to http://localhost:8080


备注:建议申请测试用的license,可开启ResinPro的所有功能

1.1.2 在Eclipse上配置Resin插件

Eclipse(Luna)集成Resin4.0+服务器,以及配置参数





resin配置 jmx_后台_02






resin配置 jmx_后台_03






resin配置 jmx_resin配置 jmx_04






resin配置 jmx_后台_05


第二步:集成

1、在Eclipse中New - Server,选择“Download additional server adapters”, 之后选择“Resin (Java EE Web Profile) Server”.




resin配置 jmx_后台_06


注意:这里由于我的Eclipse上已经集成了Resin了,所以你能看到Resin 4.0标志了,第一次集成时,请按照上边的步骤执行

2、Download Resin结束后,选择”Resin4.0”,点击”Next”,到Resin Runtime配置页面,选择JRE和Resin Home之后,点击”Next”,继续点击”Next”,到Resin configure页面,点击”Next”,到Add and Remove项目页面,选择要加入的项目,Add到右边,点击”Finsh”完成。




resin配置 jmx_后台_07




resin配置 jmx_后台_08


注意:

1)Resin Runtime配置页面,选择JRE,可以使用默认JRE,也可以选择本机安装的其他版本JRE,Resin Home就是下载完Resin解压缩以后的地址。

2)Resin configure页面,设置Port端口时,默认是8080,这里可以修改为你想要的端口号,也可以不修改,之后在server里面修改。

3、经过上边两步操作之后,在Servers里面就可以看到一个新的蓝色小蜻蜓啦~,点击启动service,请稍作等待,第一次启动稍慢(当然Resin启动是很快的,我们应用启动稍慢些),启动完成后在地址栏输入http://127.0.0.1:8080/projectName 体验下吧!

第三步:配置

一、有人会问我不想每次访问都带上我的projectName访问,我想直接访问http://127.0.0.1:8080/就可以进入项目,或者别名http://127.0.0.1:8080/xx进入项目,那当然是可以的啦!在配置之前,咱先看下Resin Service的Overview配置都有哪些如图。




resin配置 jmx_Resin_09


1、General Information 这里是一般的设置信息,包括Service name、Host name、Configurtion path 什么的,基本不需要改什么。

2、Server Properties 这里是服务的一些属性信息,这里也可以修改端口号哦!

3、Resin Server Deployment Options 这里是Resin服务部署选项设置,你可以根据你的需求选择不同的部署方式

4、Publishing 这里是发布设置,你可以1)选择从不自动发布,也可以2)选择当资源修改时立即重新发布,也可以3)选择build以后自动部署,默认是2,当然2不好的地方就是,当你边调试边开发的时候,你修改了代码,resin就会自动重启,有点小恶心哈! 这个时候,你可以把模式调整为1或者3

5、Timeouts 这里是这只超时时间,默认4分钟,如果你的服务4分钟还没有启动完成,Resin就会报错,可以增大启动时间。

6、Ant Publisher Properties 这里是Ant发布属性,一般不用Ant用不到

好了,在来解决上边的提到的那个问题,一般我们新建了service之后,会在Eclipse的左侧树形目录结构里面的Service里面增加你刚配置的service,找到Resin 4.0 at localhost-config文件夹,找到下边的resin.xml配置文件。




resin配置 jmx_Resin_10


双击打开,在host节点下新增web-app节点代码:




resin配置 jmx_apache_11


      这样,你就可以直接通过http://127.0.0.1:8080/直接访问你的项目啦!,也可以改为:

resin配置 jmx_后台_12

这样就可以通过http://127.0.0.1:8080/xx访问你的项目啦!

二、当我们有多个项目要同时部署的时候,比如一个前端项目,一个后台管理项目,需要同时启动的话,那我们就需要在新增一个Resin service了,通过配置端口号不一样来达到目的,然后当我按照上边的第二步集成的方法,再来一次的时候,发现第一步就出错了Selected Working Directory is already in use. 难道两个Resin service不能同时用一个Resin目录? 好吧,没辙,只能将Resin在解压缩一份出来,用新的目录在配置。。。

当我们一切搞定之后,这次新的Resin service设置端口为8090哈,启动的时候,启动了半天还是不成功啊!!! 这又是为啥!!!默默的打开Service下边的Resin 4.0 at localhost(2)-config文件夹,找到下边的resin.properties配置文件,修改端口吧!

app.http : 8090

# app.https         : 8443

web.http : 8090

# web.https         : 8443

    好了,大功告成!这下我们就可以通过启动两个Resin service,来同时运行多个项目调试啦!

1.1.3 apache2.2整合resin3+Eclipse远程调试

2     开发技巧

2.1     调试技巧

2.1.1 远程调试配置

linux版本,resin3.1版本以上:

背景: resin已经安装在linux上

具体步骤:

1.进入resin的安装路径下的conf目录,下面有个resin.conf的文件,打开它,将下面这段配置添加进去,然后重启resin(大家应该知道如何重启吧);

-Xdebug

-Xnoagent

-Djava.compiler=NONE

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998

2.配置myeclipse的远程调试,按照图示进行:

1.小虫旁边的倒三角,点击




resin配置 jmx_Resin_13


2.在弹出的页面中做如下操作:




resin配置 jmx_远程调试_14


3.在新创建远程调试应用的页面配置:

  name:给你的远程调试应用起个名字

 project:你需要调试的工程

Connection Type:保持默认

最重要的来了:

host:你需要连接的远程服务器的IP

port:记得刚才在resin中添加的配置吗?就是下面这行,将adderss 的值(9998)写进去,然后就OK了

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998




resin配置 jmx_apache_15


2.2     配置问题

2.2.1 sudo: ./configure: command not found问题

其实问题在于权限不够:chmod 777 configure即可

http://forum.ubuntu.org.cn/viewtopic.php?t=318765

2.2.2 No OpenSSL has been found

[mac]安装openssl


浏览器下载:(直接浏览器访问即可下载,经试验此种方式下载速度较快,其他版本可以在这里下载:https://www.openssl.org/source/ )

安装

1.在解压目录下,执行(使用sudo是因为要prefix的访问权限 ;指定 prefix是因为此目录以后使用比较方便)

sudo ./config --prefix=/usr/local/openssl  

2.执行

make  

3.执行 

make install  

4.查看版本

openssl version  

显示:

OpenSSL 0.9.8zh 14 Jan 2016

2.2.3 手动安装openssl后头文件依然无法找到的问题

用文本编辑器打开configure文件,修改ssl3.h的路径查询目录为真实openssl/include/openssl目录、




resin配置 jmx_后台_16


2.2.4 configure: error: invalid variable name: `–prefix'

此问题要注意:从网页复制命令行时,有可能将英文-转成了中文—,后面的enable也一样,最好手动删除-再输入-。




resin配置 jmx_Resin_17


2.2.5 make: Nothing to be done for `all' 报错

>make clean(清除上次make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。

如何解决make: Nothing to be done for `all' 的方法


2.2.6  Error /Applications//Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apr-1-config not found!.

建立软连接:
sudo ln -s /usr/local/apr/bin/apr-1-config /Applications//Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
sudo ln -s /usr/local/apr/bin/apu-1-config /Applications//Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
(Good)apxs:Error /Applications//Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apr-1-config not found!.

(Good)mac上安装tomcat apr


3     参考链接

(Good)resin远程调试配置


apache2.2整合resin3+Eclipse远程调试.docx

解决mac osx编译libevent找不到openssl目录的问题


mac os sierra 安装openssl坑