php - 在 Linux 上的 Lighttpd 上运行 Rails 和 PHP

标签 php ruby-on-rails linux ubuntu lighttpd

好吧,我想知道是否有办法在 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/

相关文章:

c - 将数据发送到连接在我的服务器上的多个客户端

python - 如何在 Python 中重用 Popen 的中间结果?

linux - 当 nginx 给出 502 bad gateway 时如何调试?

php - 如何将位置 header 添加到来自 Codeigniter Rest 服务器的 http 响应

php - 从 PHP 中的字符串替换此十六进制字符

javascript - 为什么我的字符串只有在我手动输入时才有效?

ruby-on-rails - 如何按日期范围内的每个日期对对象进行分组

php - "call"一个 php 文件的最安全方法

php - 如何限制MySQL查询结果为特定结果?

ruby-on-rails - 具有指向同一模型的多个链接的数据建模