将PHP和Rails放在同一台服务器上

时间:2011-06-11 22:37:49

标签: php ruby-on-rails apache apache2

我目前正在开发一个网站核心是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可能会生气)< / p> 编辑:我还应该提一下,我使用Subdomains作为我的应用程序的一部分,所以我更喜欢像wewebsite.com/rails_app这样的东西。如果这是唯一的选择,我可以走那条路,但我不愿意。

2 个答案:

答案 0 :(得分:3)

我正在开发一个项目,它在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>

答案 1 :(得分:3)

如果您希望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模块。