2011-02-08 55 views
6

那麼,我想知道是否在ubuntu上運行rails和PHP兩種方式。我想在一臺服務器/域上運行我的PHP項目和Rails項目。在Linux上的Lighttpd上運行Rails和PHP

我真的沒有Linux的經驗,所以原諒我的天真。

如果有這種做法,請讓我知道:)

回答

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" 
      ) 
     ) 
    ) 
) 

就是這樣。請注意0​​選項。這很重要,否則每次重新啓動服務器時,都會發生殭屍進程...

+0

現在的反應,似乎它會解決我的問題:D – Zen 2011-02-10 05:28:49

-2

我不使用Lighty。考慮到Apache的Passenger附加功能,Rails最適合Passenger和Apache。通過將路徑指向其他地方,我將Wordpress(PHP)與我的Rails應用程序放在同一個域中。 Here's an article to follow。 HTH。

+0

感謝您的回覆,但我要求將它配置爲在lighty上運行,而不是在apache上運行。特別是不是Apache。 – Zen 2011-02-08 13:36:51

1

conf.d子目錄萊蒂的配置目錄的退房fastcgi.conf(不知道它位於哪裏在Ubuntu,但快速搜索建議/etc/lighttpd)。有PHP和Rails的註釋示例;通過將兩者結合起來,你應該能夠獲得你正在尋找的設置(儘管我建議先讓一個工作,然後再設置另一個)。

FastCGI是Lighty可以與Ruby或PHP等運行時進行通信的方法。 Lighty也可以使用SCGI,雖然我從來沒有使用過它,但我不確定它的工作效果如何(最後我聽說它仍然是實驗性的)。

您也可能會發現Lighty的文檔wiki上的Optimizing FastCGI頁面很有幫助,儘管它非常適合PHP/MySQL。

+0

將看一看,感謝 – Zen 2011-02-10 05:28:34