我觉得很有趣的是,当我搜索相关的红宝石时,所有ruby都会在轨道相关的结果上弹出.所以没有人再使用原始红宝石了?
但是,我是红宝石的新手.今天早上我只想在web服务器上运行一个简单的hello world ruby脚本,首先是apache 2,然后尝试了mongrel.但不幸的是我失败了.我用各种方式搜索,但结果只显示有关铁轨上的红宝石.所以真的有办法在任何Web服务器上运行ruby脚本,或者即使我只想做一个hello world应用程序我也必须使用ror?
she*_*edd 10
Sinatra可能是你从没有Rails的Web服务器运行Ruby脚本的最佳选择.
看看这里:http://www.sinatrarb.com
来自Sinatra文档:
require 'sinatra'
get '/hi' do
"Hello World!"
end
Run Code Online (Sandbox Code Playgroud)
然后,运行:
$ gem install sinatra
$ ruby -rubygems hi.rb
== Sinatra has taken the stage ...
>> Listening on 0.0.0.0:4567
Run Code Online (Sandbox Code Playgroud)
只需在浏览器中访问http://0.0.0.0:4567即可找到"Hello World"
...
除此之外,由于您还询问有关在Apache或其他Web服务器中运行的问题,您可能需要查看有关将基于Sinatra的新应用程序部署到Apache或Nginx的这些教程:
Apache:http://www.pastbedti.me/2009/11/deploying-a-sinatra-app-with-apache-and-phusion-passenger-aka-mod_rack/和http://www.giantflyingsaucer.com/blog/p = 1716
Nginx:http://tommy.chheng.com/2009/06/09/deploying-a-sinatra-app-on-nginx-passenger-with-capistrano-and-git/
请注意这两个教程都涵盖了通过Passenger运行Sinatra(http://www.modrails.com/ - 不要被"modrails"名称:)推迟),我在Apache下部署应用程序时运气不错. Nginx的.
您可以配置Apache(例如)以.rb文件作为CGI脚本运行,然后在脚本顶部添加一个shebang行(#!/path/to/your/ruby
或者可能#!/usr/bin/env ruby
).然而,这并不是最佳的,因为它会为每个请求启动一个新的解释器.