情况是这样的
一个网站,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