好吧,我想知道是否有办法在 Ubuntu 的 Lighty 上同时运行 Rails 和 PHP。我想在一个服务器/域上同时运行我的 PHP 项目和 Rails 项目。
我对 Linux 的经验真的很少,所以请原谅我的天真。
如果有办法做到这一点,请告诉我:)
最佳答案
同时运行它们真的很简单。我一直这样做(ROR 运行 Redmine,其余的运行 PHP)。
您有 2 个 ROR 实物期权。从 FastCGI(我所做的)提供它,或者使用独立服务器(如 Mongrel 等)运行它并代理它。两者各有优势。 FastCGI 的优势在于它是自包含的(无需运行辅助服务器)。独立的优点是更容易配置。
如果您有具体问题,我可以提供指导,但互联网上有关于如何执行此操作的指南。
我的 lighttpd.conf:
$HTTP["host"] =~ "my.ror.site" {
server.error-handler-404="/dispatch.fcgi"
fastcgi.server = (".fcgi" => ("ror_1" => (
"min-procs"=>8,
"max-procs" => 8,
"socket" => "/tmp/myrorlock.fastcgi",
"bin-path"=> "/path/to/ror/site/public/dispatch.fcgi",
"kill-signal" => 9,
"bin-environment" => ( "RAILS_ENV" => "production" )
)))
}
fastcgi.server = ( ".php" =>
(
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-cgi -c /etc/php.ini",
"min-procs" => 1,
"disable-time" => 1,
"max-procs" => 1,
"idle-timeout" => 20,
"broken-scriptfilename" => "enable",
"bin-copy-environment"=> (
"PATH", "SHELL", "USER"
),
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "40",
"PHP_FCGI_MAX_REQUEST" => "50000"
)
)
)
)
就是这样。请注意 kill-signal
选项。这很重要,否则每次重新启动服务器时都会到处都是僵尸进程...
关于php - 在 Linux 上的 Lighttpd 上运行 Rails 和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4931763/