在Linux上的Lighttpd上运行Rails和PHP

Zen*_*Zen 6 php linux ubuntu lighttpd ruby-on-rails

好吧,我想知道在Ubuntu上是否可以在Lighty上运行rails和PHP.我想在一个服务器/域上运行我的PHP项目和Rails项目.

我对Linux的经验很少,所以请原谅我的天真.

如果这是一种方式,请让我知道:)

irc*_*ell 3

运行它们确实非常简单。我一直这样做(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"
            )
        )
    )
)
Run Code Online (Sandbox Code Playgroud)

就是这样。请注意该kill-signal选项。这很重要,否则每次重新启动服务器时都会遇到僵尸进程......