PHP 和 Rails 位于同一服务器 Linux 托管上


php and rails on same server linux hosting

>我是托管服务的新手

我有一个在 PHP 中运行的 ex www.example.com 域所以在public_html我把所有的PHP文件

我有多托管支持(支持Ruby on Rails,PHP等(

所以我想在Ruby on Rails中创建一个子域

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

我尝试了来自 ssh(腻子(的 rails 新子,它在 sub 内部创建了应用程序文件夹等但是当我们链接到 sub.ecample.com 或 ecample.com/sub 它只是显示目录列表时

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

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

如前所述,解决此问题的方法将是专门与您的网络主机交谈。

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


服务器软件

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

我不确定共享主机提供商将如何处理这个问题,但是建立VPS/"自托管"系统的典型方法是使用流行的开源服务器应用程序之一; 通常是Apache或Nginx。

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

在不赘述太多细节的情况下(您最好向您的主机询问(,您需要查看以下资源:

  • 部署到 VPS (Railscasts(
  • 数字海洋部署指南
  • GoRails 部署指南

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


公共

其次,您必须考虑正确路由到 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; 
}