【问题标题】:php and rails on same server linux hosting同一台服务器上的 php 和 rails linux 托管
【发布时间】:2014-11-01 07:42:13
【问题描述】:

我是托管服务新手

我有一个前 www.example.com 的域,它在 php 中运行 所以在 public_html 我把所有的 php 文件都放了

我有多主机支持(支持 ruby​​ on rails ,php 等)

所以我想在 ruby​​ on rails 中创建一个子域

例如:sub.ecample.com 应该指向 public_html/sub

我从 ssh(putty) 尝试了 rails new sub,它在 sub 中创建了应用程序文件夹等 但是当我们要链接 sub.ecample.com 或 ecample.com/sub 时,它只显示目录列表

请帮忙 我不确定运行 rails 是否需要任何配置等

*如果此帖子被标记为重复或任何已删除等,请提供帮助链接作为 cmets 我没有找到任何帮助链接/问题等

【问题讨论】:

  • 我觉得这更像是您的虚拟主机的问题。

标签: php ruby-on-rails hosting


【解决方案1】:

如前所述,解决此问题的方法是专门与您的网络托管服务商交谈。

但是,为了让您更清楚地了解要做什么,您有几个重要的选择:


服务器软件

第一步也是最重要的一步是确保您安装了正确的服务器软件,或者至少让它正确指向您的子域

我不确定 共享 托管服务提供商将如何处理此问题,但设置 VPS/“自托管”系统的典型方法是使用一种流行的开源服务器应用程序;通常是 Apache 或 Nginx。

如果您使用其中任何一种(我确信与其他服务器变体相同),则设置允许您提供“虚拟主机”。这些使您能够在单个服务器上托管多个网站

无需过多介绍(最好向房东咨询),您可以查看以下资源:

所有这些都将建议您安装一个开源服务器应用程序,这将使您能够将不同的子域/请求路由到您拥有的相应应用程序。


公开

其次,您必须考虑正确路由到 Rails 应用程序的重要性。

Rails 应用程序与 PHP 不同——它们是真正的应用程序,这意味着它们在您的本地化系统上运行,接受来自 HTTP 协议的输入。这就是您可以进入“Rails 控制台”的方式 - 因为该应用程序在您的本地 ruby​​ 安装上运行,接收来自“服务器”的任何请求,然后 Rails 可以处理这些请求。

您遇到的问题是,如果您只是路由到 Rails“根”目录,则无法正确加载文件。如果您希望应用程序按要求加载,您必须将您的 Web 服务器指向 /public 目录。

我不确定 Rails 是如何管理这个的,但是每次你向应用程序发送请求时,它都会观察public 目录,然后它将请求发送到你的 Rails后端。简而言之,您需要路由到您的/public 文件夹:

#etc/nginx/nginx.conf
server { 
  listen 80; 
  server_name example.com; 
  passenger_enabled on; 
  root /var/www/my_awesome_rails_app/public; 
}

【讨论】:

  • @Rixh Peck 什么是乘客?这个有用吗?
  • Passenger 是 Rails 的首选托管系统。我不确定它是如何工作的——我只知道它真的很棒!您可以通过查找 Phusion Passenger 来查看它 - 您必须确保首先使用您的虚拟主机进行设置
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
  • 2018-11-18
  • 2019-06-19
  • 2015-05-28
  • 2020-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多