部署 apache passenger 部署和 php 共存

kingwkb · 2013年08月26日 · 最后由 libuchao 回复于 2013年08月27日 · 3210 次阅读

情况是这样的

一个网站,php 开发,现在想转 ror,但是不能一下子全转过来,只能新开发的东西使用 rails,另外不能使用子域名或换域名,php 程序本身使用了 rewrite

我想是否能通过 rewrite 来选择是 php 还是 rails

我知道 passenger 中有个子目录的部署方式,但不适合这里,这里是要和老的 php 融合到一块,直到慢慢把 php 替换掉

用 nginx+passenger 没有任何冲突,php 会走 php-fpm 通道,我的 linode 就是两者网站都有在运行。毫无压力。

#1 楼 @jianpanxiu 为这边由于 php 历史原因,还不能使用 nginx,我用 apahce 试试

我在考虑是把 php 放在 public 目录下面,documentroot 设置 public 或者是把 documentroot 设置 php 目录,然后使用 PassengerAppRoot

我觉得第二种能实现的话比第一种好

#2 楼 @kingwkb 用 apache passenger 也毫无问题,可以共存,我现在服务器就是这样

conf 供参考

NameVirtualHost *:80

LoadModule passenger_module /usr/local/rvm/gems/ruby-2.0.0-p0/gems/passenger-4.0.2/libout/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-2.0.0-p0/gems/passenger-4.0.2
PassengerDefaultRuby /usr/local/rvm/wrappers/ruby-2.0.0-p0/ruby

<VirtualHost *:80>
     ServerName aaa.com
     ServerAlias www.aaa.com
     DocumentRoot /srv/www/aaa.com/public_html/
     ErrorLog /srv/www/aaa.com/logs/error.log
     CustomLog /srv/www/aaa.com/logs/access.log combined
     <Directory /srv/www/aaa.com/public_html/>
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         allow from all
     </Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerName bbb.com
        ServerAlias www.bbb.com
        DocumentRoot /srv/www/bbb.com/public_html/blix/public
        ErrorLog /srv/www/bbb.com/logs/error.log
        CustomLog /srv/www/bbb.com/logs/access.log combined
        #RailsEnv development
        <Directory /srv/www/bbb.com/public_html/blix/public>
                AllowOverride All
                Options -MultiViews
        </Directory>
</VirtualHost>

aaa.com 是 php bbb.com 是 rails

需要 登录 后方可回复, 如果你还没有账号请 注册新账号