È molto semplice eseguirli entrambi. Lo faccio sempre (ROR per eseguire Redmine e PHP per il resto).
Hai 2 opzioni reali per ROR. O servilo da FastCGI (cosa faccio), o eseguilo con un server standalone (come Mongrel, ecc.) E proxy. Entrambi hanno vantaggi. FastCGI ha il vantaggio di essere autonomo (nessun server secondario da eseguire). Lo standalone ha il vantaggio che è più facile da configurare.
Se hai domande specifiche, posso guidare, ma ci sono guide su internet su come farlo.
mio 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"
)
)
)
)
E questo è tutto. Nota l'opzione kill-signal
. questo è importante, altrimenti finirai con i processi di zombi ovunque ogni volta che riavvierai il server ...
provandolo ora, sembra che risolva il mio problema: D – Zen
'$ HTTP [" host "] = ~" my.ror.site "' - The '= ~' significa che sta facendo un confronto di espressioni regolari, che potrebbe non essere necessario. Usa '==' quando vuoi fare un confronto tra stringhe normali. [Maggiori informazioni] (http://redmine.lighttpd.net/wiki/lighttpd/Docs:Configuration#Conditional-Configuration). A parte questo, grazie per il campione! –
@Garret: buon punto. In realtà uso regex nel mio (perché ci sono più domini che lo indicano, per alcuni motivi). L'ho appena rimosso (sterilizzato) per postare qui. Ma è qualcosa che vale la pena menzionare ... – ircmaxell