在 Apache 上运行 Ruby 应用程序

2023-12-11

我最近一直在学习 Ruby,我想将测试 Web 应用程序上传到我的服务器。但我不知道如何让它在我的共享主机上运行。

我的托管详细信息

  • 与 JustHost 共享主机(请参阅此处查看功能列表)
  • 操作系统:Linux
  • 阿帕奇:2.2.11
  • cPanel:11.25.0-稳定版
  • NoSSH 访问。
  • Can安装 Ruby Gems。
  • Can't安装 Apache 模块。
  • Can "管理 Ruby on Rails 应用程序“通过 cPanel。
  • 杂种宝石已安装。

我构建了以下简单的 HelloWorld RubyRack应用程序使用Sinatra:

#!/usr/bin/ruby ruby
require 'rubygems'
require 'sinatra'
get '/hi' do
  "Hello World!"
end

我只是不知道如何“启动”应用程序。我是否需要告诉 Mongrel(或者 Apache)该应用程序以某种方式存在?我如何开始运行这个应用程序?如果需要,我很乐意提供更多信息。


首先,您必须在服务器启动时手动或通过脚本启动应用程序。只需执行 ruby​​ hi.rb 之类的操作(如 sinatra 网页上所述,它在端口 4567 上运行应用程序)。那么你有两个选择。 1) 您可以通过以下方式直接访问此应用程序:http://你的服务器:4567/或 2) 您可以使用 apache 作为代理。

如果你想使用 apache 作为代理,你必须使用虚拟主机服务器。例如:

NameVirtualHost hi.server:80
<VirtualHost hi.server:80>
    Servername hi.server
    RewriteEngine On
    <Proxy balancer://hi>
        BalancerMember http://127.0.0.1:4567
    </Proxy>
    ProxyPass / balancer://hi/
    ProxyPassReverse / balancer://hi/
</VirtualHost>

如果您有多个核心,您可以多次运行 hi.rb(每次在不同的端口上),并且只需添加新的 BalancerMember。您还可以使用指令打开 apache 缓存:CacheEnable mem /

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Apache 上运行 Ruby 应用程序 的相关文章

随机推荐