您的位置:首页 > 编程语言 > Ruby

jruby+torquebox+ruby on rails 安装笔记

2012-08-01 13:14 369 查看
torquebox是一个建立在JBOSS AS上的一个ruby应用平台。与RoR与Rake的兼容性很高。有很强大的企业级开发能力。

这里简单介绍一下其安装配置过程:

(本人的工作环境是CentOS5.0 在其他操作系统上的安装过程可能与本文有所出入,欢迎讨论)

安装前请安装好rvm,关于如何安装rvm本文不属于本文讨论范围。传送门

首先安装jruby:

$ rvm install jruby

之后,更改环境为jruby并确认:
$ rvm list
rvm rubies

jruby-1.6.7 [ i386 ]
ruby-1.8.7-p358 [ x86_64 ]
=> ruby-1.9.3-p125 [ x86_64 ]

$ ruby use jruby-1.6.7
$ ruby list

rvm rubies

=> jruby-1.6.7 [ i386 ]
ruby-1.8.7-p358 [ x86_64 ]
ruby-1.9.3-p125 [ x86_64 ]



给torquebox建立一个新的gemset, 或者直接使用默认的jruby-1.6.7@global。
$ rvm gemset create torquebox
$ rvm jruby-1.6.7@torquebox

使用以下命令安装torquebox server

$ jruby -J-Xmx1024m -S gem install torquebox-server --pre
验证安装:

$ torquebox help
Tasks:
torquebox deploy ROOT # Deploy an application to TorqueBox
torquebox undeploy ROOT # Undeploy an application from TorqueBox
torquebox run # Run TorqueBox
torquebox cli # Run the JBoss AS7 CLI
torquebox env [VARIABLE] # Display TorqueBox environment variables
torquebox help [TASK] # Describe available tasks or one specific task
设置环境变量,在/etc/profile后添加如下内容:

JRUBY_HOME=/usr/local/rvm/rubies/jruby-1.6.7;export JRUBY_HOME
TORQUEBOX_HOME=/usr/local/rvm/gems/jruby-1.6.7@torquebox/gems/torquebox-server-2.0.0.cr1-java; export TORQUEBOX_HOME
JBOSS_HOME=/usr/local/rvm/gems/jruby-1.6.7@torquebox/gems/torquebox-server-2.0.0.cr1-java/jboss; export JBOSS_HOME
修改配置文件 $JBOSS_HOME/standalone/configuration/standalone.xml

将以下内容:

<interfaces>
<interface name='management'>
<inet-address value='${jboss.bind.address.management:127.0.0.1}'/>
</interface>
<interface name='public'>
<inet-address value='${jboss.bind.address:127.0.0.1}'/>
</interface>
<interface name='unsecure'>
<!-- Used for IIOP sockets in the standarad configuration.
To secure JacORB you need to setup SSL -->
<inet-address value='127.0.0.1'/>
</interface>
</interfaces>
修改为:
<interfaces>
<interface name="management">
<inet-address value="0.0.0.0"/>
</interface>
<interface name="public">
<inet-address value="0.0.0.0"/>
</interface>
<interface name="unsecure">
<inet-address value="0.0.0.0"/>
</interface>
</interfaces>
如果不修改,其他人无法在网络中通过IP或者域名访问你,你只能在本地进行测试。
同时,下面这一段为端口配置,如果不行你的8080端口被占掉了,你可以修改配置。<socket-binding-group name='standard-sockets' default-interface='public' port-offset='${jboss.socket.binding.port-offset:0}'>
<socket-binding name='http' port='8080'/>
<socket-binding name='https' port='8443'/>
<socket-binding name='jacorb' interface='unsecure' port='3528'/>
<socket-binding name='jacorb-ssl' interface='unsecure' port='3529'/>
<socket-binding name='management-native' interface='management' port='${jboss.management.native.port:9999}'/>
<socket-binding name='management-http' interface='management' port='${jboss.management.http.port:9990}'/>
<socket-binding name='management-https' interface='management' port='${jboss.management.https.port:9443}'/>
<socket-binding name='messaging' port='5445'/>
<socket-binding name='messaging-throughput' port='5455'/>
<socket-binding name='osgi-http' interface='management' port='8090'/>
<socket-binding name='remoting' port='4447'/>
<socket-binding name='txn-recovery-environment' port='4712'/>
<socket-binding name='txn-status-manager' port='4713'/>
<outbound-socket-binding name='mail-smtp'>
<remote-destination host='localhost' port='25'/>
</outbound-socket-binding>
<socket-binding name='stomp' port='8675'/>
</socket-binding-group>

到这里你的torquebox就安装配置完成了。

接下来我们要通过rails来进行做一个小demo:

安装rails:

$ gem install rails
然后就可以建立新的ror项目:

$ rails new HW然后 rails就会在当前文件夹里创建一个新的文件夹HW里面有这一个基本的网络框架。
进入打开 ../HW/config/routes.rb 并编辑。在end前加入:

match '/' => 'home#index'

这个语句改变了index的指向,之后我们就可以删掉../HW/public/index.html 这个文件了。
之后在 ../HW/app/controllers/ 目录下新建文件 home_controller.rb, 内容如下:

class HomeController < ApplicationController
def index
render :text => "Hello world!"
end
end

之后在 HW 目录下运行

$ torquebox deploy
这个命令将在 $JBOSS_HOME/standalone/deployment/下产生 HW-knob.yml  HW-knob.yml.deployed 两个文件,其中HW-knob.yml.deployed中的内容是 HW-knob.yml 的文件名,而HW-knob.yml 文件内容如下:

---
application:
root: /root/web/HW
environment: {}

web:
context: /



成功之后运行:
$ torquebox run

等待提示生成ruby runtime
打开浏览器访问,大功告成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息