我正在尝试使用Ruby来设置主页。我目前有这个代码:
#!/usr/bin/ruby -w
puts "Hello, Ruby!";
它保存为testing.rb。我可以将文件存放到学校的公共服务器上,因此我将其放在学校的目录中,例如school.ca/myname/public_html/testing.rb
。
这适用于以前的HTML,CSS,Perl,ASP和PHP程序。现在我正在尝试建立Ruby并且我遇到了麻烦。它显示在URL上的是我上面的源代码。
我将文件权限更改为644。
答案 0 :(得分:1)
您需要一个支持Ruby的Web服务器。有一个解决方案使运行Ruby几乎与运行PHP一样简单:Phusion Passenger。它可以作为Apache或Nginx插件安装,这是两个非常常见的Web服务器。但是,为了安装这些插件,您通常需要root访问您的服务器,我认为您没有。
完全不同的解决方案是使用Heroku等云服务提供商。只要您的应用程序没有24小时/天运行,它们就会提供免费计划。为了使用这项服务,你必须熟悉git
,但这就像通过git上传你的代码来运行你的应用程序一样简单。
至于构建您的第一个Ruby Web应用程序,您应该查看Sinatra。一个简单的hello world应用程序如下所示:
require "sinatra"
get "/" do
"Hello World!"
end
Sinatra是一个红宝石宝石。您可以使用名为gem
的工具从命令行安装这些库:
gem install sinatra
答案 1 :(得分:1)
我将文件权限更改为644。
~/ruby_programs$ chmod 644 cgi.cgi
~/ruby_programs$ ls -al cgi.cgi
-rw-r--r-- 1 7stud staff 102 Nov 13 15:50 cgi.cgi
文件权限显示如下:
第一个字符是-
或d
:-
表示文件,d
表示目录
然后有三组三个字符表示owner
,group
和other
的权限:
r = readable w = writable x = executable
644产生权限:
rw-r--r--
相当于:
owner: rw- (read, write)
group: r-- (read only)
other: r-- (read only)
您不必知道谁是owner
,或者谁属于group
,或者属于other
类别,以确认没有人拥有执行文件的权限。你需要这样做:
~/ruby_programs$ chmod a+x cgi.cgi #=>all + x => give execute permissions to everyone
~/ruby_programs$ ls -al cgi.cgi
-rwxr-xr-x 1 7stud staff 102 Nov 13 15:50 cgi.cgi
现在权限是:
owner: rwx
group: r-x
other: r-x
这意味着现在任何人都可以执行该文件。
网址上显示的所有内容都是我上面的源代码。
如果您还没有这样做,请尝试为您的ruby文件提供.cgi
扩展名。然后使用此代码:
#!/usr/bin/env ruby
puts "Content-type: text/html\n\n"
puts "<html><body>Hello, Ruby!</body></html>"
你确定学校的服务器上安装了ruby吗?
答案 2 :(得分:0)
Ruby不是一种浏览器可以在没有帮助的情况下自行解释的语言 - 你需要设置一个服务器并让它自己打印出一个HTML网页,或者使用一个为你这样做的框架(即Sinatra,导轨)。