在网络浏览器中运行.rb文件需要什么?
(我在红宝石的第一天)
我有乘客的Apache服务器(我来自PHP)。终端证明:
gundars@linuxr528:~$ apache2ctl -t -D DUMP_MODULES
passenger_module (shared)
ruby 1.9.3p0(2011-10-30修订版33570)[x86_64-linux]
我也安装了rails等,尝试使用rails制作一个快速的应用程序,它运行良好。
现在我想在浏览器中打开.rb文件,它会提示我保存它。 这就是它在我的浏览器中的样子,点击后弹出右侧的窗口,它会询问保存位置。
关于Ruby和这个文件的条目是:
apache2.conf:
LoadModule passenger_module /home/gundars/.rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /home/gundars/.rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11
PassengerRuby /home/gundars/.rvm/wrappers/ruby-1.9.3-p0/ruby
虚拟hosts.conf
<VirtualHost *:80>
ServerName tictactoe.ruby.dev
DocumentRoot "/localhost/sandbox/RUBY/tictactoe/"
ErrorLog /var/log/rubyonrails2.log
</VirtualHost>
的/ etc /主机
127.0.0.1 tictactoe.ruby.dev
所以问题 - 在Web浏览器中运行.rb文件需要什么? 我认为这是乘客的目的......
答案 0 :(得分:5)
要运行的步骤.rb来自APACHE的脚本:
编辑您的apache配置文件(例如/etc/httpd/conf/httpd.conf)。更新或创建AddHandler设置,使其包含“.rb”,例如:
AddHandler cgi-script .cgi .rb
创建ruby脚本(.rb)。确保你有一个shebang(#!)指向你的红宝石翻译。如果您不确定ruby在哪里,请使用“which”命令。
#!/bin/ruby
puts "Content-type: text/html"
puts
puts "<html>"
puts "<body>"
puts "<h3>Hello</h3>"
在.rb文件上设置正确的所有权和执行权限(x),以便apache可以执行它,例如:
-rwxr-x--- 1 apache apache 163 Nov 26 10:55 index.rb
这可能是你所要做的。如果您的脚本仍未执行,我将尝试的第一个故障排除步骤是暂时禁用SELinux(使用setenforce 0)。
答案 1 :(得分:1)
第一天?试试Sinatra教程。很容易快速掌握并运行,然后你可以集中精力学习语言。
答案 2 :(得分:0)