【问题标题】:Putting PHP and Rails on the same server将 PHP 和 Rails 放在同一台服务器上
【发布时间】:2011-09-13 05:16:01
【问题描述】:

我目前正在开发一个网站,该网站的核心是 PHP。我现在想在该核心之上编写一堆应用程序,并希望在 Rails 中完成。我在网上看到了几件事,您可以将单个文件夹设置为由 PHP 处理,(例如:http://macdiggs.com/2007/06/29/using-php-inside-rails-structure-on-apache/)但我希望做相反的事情,有由 Rails 处理的单个文件夹,然后其余的由php。例如,将 ourwebsite.com/blog 作为 Rails 应用程序,但 ourwebsite.com 和 ourwebsite.com/internal 都使用 PHP。什么样的 Apache 配置会让这种情况发生?

(作为奖励,我的服务器由 Plesk 管理,所以我担心直接更改 apache 配置。我有 root 访问权限,所以我可以这样做,但我担心 Plesk 可能会生气)

编辑:我还要提一下,我将子域用作我的应用程序的一部分,所以我真的更喜欢使用类似 ourwebsite.com/rails_app 的东西。如果这是唯一的选择,我可以走那条路,但我不想这样做。

【问题讨论】:

    标签: php ruby-on-rails apache apache2


    【解决方案1】:

    如果您希望 PHP 应用程序成为默认应用程序并且仅将 Rails 用于子目录,则此 Apache 配置应该适合您:

    DocumentRoot "/path/to/your/php/app/html"
    ProxyPass /some_resource http://127.0.0.1:3000/some_resource
    

    请注意,您的 rails 应用程序将在端口 3000 上运行,您需要安装 ProxyPass Apache 模块。

    【讨论】:

    • 你好 Andrew,你能帮我解释一下“在端口 3000 上运行”的意思吗?你如何在服务器上运行 rails 应用程序?
    【解决方案2】:

    我正在开发一个项目,它在 php 中有一些博客,即 wordpress 和 rails 中的应用程序。一个小时前刚配置好。或许能帮到你。

    <VirtualHost *:80>
    ServerName abc.com
    DocumentRoot /home/me/apps/my_rails_app/current/public
    </VirtualHost>
    
    <VirtualHost *:80>
    ServerName blog.abc.com
    DocumentRoot /home/me/apps/abc/wordpress
     <Directory "/home/me/apps/abc/wordpress">
            Options +Indexes FollowSymLinks
            AllowOverride All
            Allow from all
            Order allow,deny
        </Directory>
    
    </VirtualHost>
    

    【讨论】:

    • 感谢您的回答!我应该提到,应用程序的一部分能够拥有您自己的子域,因此这些子域需要采用 abc.com/rails_app 的形式。我正在编辑问题以更好地反映这一点。
    猜你喜欢
    • 2014-11-01
    • 2021-11-20
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 2016-09-06
    • 2015-05-27
    • 1970-01-01
    相关资源
    最近更新 更多