如何运行一个简单的脚本 ruby 在任何Web服务器上 /Apache 或者 Mongrel 或者是其他东西/

当我正在寻找相关的东西时,我觉得很有趣 ruby, 都出现了 ruby 在 rails 相关结果。 所以没有其他人用 raw ruby?

但是,我是新的 ruby. 今天早上我只试图运行一个简单的脚本 hello world ruby 在Web服务器上首先 apache 2, 然后尝试过 mongrel. 但是,不幸的是,我不能。 我去了谷歌的一切,但结果只显示了 ruby 在 rails. 所以有没有办法运行脚本 ruby 在任何Web服务器上,或者我必须使用 ror, 即使我只是想制作申请 hello world?
已邀请:

喜特乐

赞同来自:

Sinatra可能是运行脚本的最佳选择 Ruby 从没有的Web服务器 Rails.

看看这里:
http://www.sinatrarb.com
来自文件 Sinatra:


require 'sinatra'

get '/hi' do
"Hello World!"
end


然后刚刚运行:


$ gem install sinatra
$ ruby -rubygems hi.rb
== Sinatra has taken the stage ...
>> Listening on 0.0.0.0:4567


去K.
http://0.0.0.0:4567
在您的浏览器中,您必须找到您的 "Hello World"

...

添加到它,因为您也询问了工作 Apache 或其他Web服务器,您可以熟悉这些学生手册,以基于的基于的新应用程序部署 Sinatra 在 Apache 或者 Nginx:

Apache:
http://www.pastbedti.me/2009/1 ... rack/

http://www.giantflyingsaucer.com/blog/?p=1716
Nginx: http://tommy.chheng.com/2009/0 ... -git/

请注意,这两个教科书都涵盖了发射。 Sinatra 穿过 Passenger /
http://www.modrails.com/
-- 不要吓唬这个名字 "modrails" :/ /, 在部署应用程序时,我很幸运 Apache 和 Nginx.

涵秋

赞同来自:

您可以配置 Apache /例如 / 开始 .rb 文件as. CGI 脚本然后添加字符串 shebang /
#!/path/to/your/ruby

也许
#!/usr/bin/env ruby

/ 在脚本的顶部。 但是,这不是最佳的,因为新的解释器将为每个请求启动。

喜特乐

赞同来自:

最常用的方法
http://www.modrails.com/docume ... ation
您的应用程序必须是有效的应用程序。 rack, 这是最小的 hello world /让我们说 /应用程序是应用程序的根文件夹/:

/app/config.ru


require 'rack'
require 'app'
run/app/


/app/app.rb


app = proc do |env|
[
# http status code
200,
# headers
{'Content-Type' => 'text/html'},
# html body
["<head><title>Test Page</title></head><body>Hello World !</body>"]
]
end


保存上面的文件并创建子文件夹。 /app/public /检测应用所需的乘客 ruby/rails/sinatra/ 和使用 /app/public 作为 DocumentRoot 在您的配置中 apache.

它可能看起来很可怕,但它是生产 deployment, 在开发中,您真的不想联系真实服务器。

所有您需要运行该文件 config.ru, 我上面给了哪个,它是:


$ gem install rack
$ rackup config.ru


或者如果您希望更接近您的制造系统:


$ gem install passenger
$ cd /app
$ passenger start


谁将安装服务器 nginx 使用乘客并启动您的申请。

在大多数情况下,你永远不会使用 rack 直接,而是你将使用 ruby 在 rails, sinatra 或其他一代的其他框架 html 为你 /所有这些都使用 rack 下面确保常见 api 使用Web服务器/.

涵秋

赞同来自:

Ruby 1.9.2 + 简单的团队。


ruby -run -e httpd . -p 5000


来自这篇文章
http://til.justincampbell.me/s ... -run/
另一篇文章
https://gist.github.com/willurd/5720255

龙天

赞同来自:

我听说 mod_ruby 好的。 不像
#!/path/to/your/ruby

, mod_ruby 不会生成一个新的翻译 ruby.

https://github.com/shugo/mod_ruby

卫东

赞同来自:

从申请的根源运行它。


ruby -r webrick -e "s = WEBrick::HTTPServer.new/:Port => 8000, :DocumentRoot => Dir.pwd/; trap/'INT'/ { s.shutdown }; s.start"

石油百科

赞同来自:

#!/usr/bin/env ruby //shebang line to indicate path to ruby.
require 'cgi' //cgi file to create a simple cgi object.
cgi = CGI.new //instantiating a cgi object.
puts cgi.header //thats telling the server about the type/html/.
puts "hello" // thats the output on the browser.

要回复问题请先登录注册