Apache, MySQL och Rails på FreeBSD

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1

Jag installerade för ett par dagar sedan om min utvecklingsburk (FreeBSD 6.1-p5) av diverse anledningar.

Har installerat Apache 2.2.3 och MySQL 5.1.11 samt PHP 5.1.6 vilket gick som smort precis som vanligt, allt via ports.

Tänkte dock prova lite Ruby samt Rails och har via ports installerat:

ruby-1.8.5,1
ruby18-bdb-0.5.9_2
ruby18-fcgi-0.8.6    
ruby18-gems-0.8.11
ruby18-rmagick-1.12.0
rubygem-actionmailer-1.2.5
rubygem-actionpack-1.12.5
rubygem-actionwebservice-1.1.6
rubygem-activerecord-1.14.4     
rubygem-activesupport-1.3.1     
rubygem-rails-1.1.6               
rubygem-rake-0.7.1               
rubygem-tzinfo-0.3.1

I min VirtualHost-container i Apache konfigurationen har jag lagt till:

<Directory /home/{användare}/domains/{domän}/public_html/cgi-bin/>
   Options ExecCGI FollowSymLinks
   AllowOverride all
   Order allow,deny
   Allow from all
</Directory>

Men får det inte att funka, är det något grovt jag missar? Jag har letat efter någon bra installationsanvisning men inte hittat någon vettig för FreeBSD. Någon får gärna peka mig i rätt riktning eller helt enkelt hjälpa mig här.

Måste jag lägga till något mer i Apachekonfigurationen för att få Ruby och Rails att fukna?

Hur kan jag enklast kontrollera om rails funkar på webben? Jag kan skapa en railsapplikation så själva installationen måste ju funka? Samt att jag har använt Rake så det måste funka det med.

EDIT: Kan tillägga att jag får allt att funka när jag kör WEBrick 1.3.1 istället för Apache. Så själva Ruby och Rails installationerna är det ju inget fel på. Vad kan jag gjort fel i Apache?

(Observera att jag kanske är helt ute och cyklar gällande installationen, jag har aldrig hållt på med Ruby eller Rails förut )

Senast redigerat 2006-09-04 14:03

Om du kör WEBrick kommer din rails-app att rulla på port 3000 förutsatt att du inte ändrat den inställningen. Då har Apache alltså inget med det hela att göra utan applikationen blir sin egen webbserver. Det är egentligen en bra och smidig lösning, vill du komma åt den via apache kan du använda mod_proxy. Problemet är bara att WEBrick är _slö_, lägg in Mongrel via rubygems i stället.

Annars är lighttpd + fastcgi ett bra alternativ som jag brukar rekommendera, finns de installerade tillsammans med Ruby-bindningarna för fastcgi kommer "script/server" att starta lighttpd i stället för WEBrick.

Samuel K: Jo vet att den rullar på 3000 då. Men har precis fått igång grejerna på Apache också!

Kör nu Apache 2.2.3 + mod_fcgid samt Rails utan problem!

Var lite fel i min Apache konfiguration bara.

Kul! Återkom gärna längre fram så får vi veta om det fungerar bra. Bytte själv till lighttpd just eftersom apache + fcgi + rails visade sig vara en ganska skakig kombination, men det var drygt ett år sedan och mycket kan ju hända på den tiden...

Allt funkar bra än så länge. jag kör det bara på min utvecklingsserver och är inte tänkt att använda för produktionsbruk. Det är en 800mhz P3 med 128 mb RAM, den enda Railsapplikationen jag har provat än så länge är Mephisto något som jag tycker går lite långsamt. Om jag laddar om en sida och samtidigt kollar på 'top -o cpu' så kan Rubyprocessen maxa på runt 70-90% och minnet ligger bara några kilobytes ledigt.

Det är inte dölångsamt, men tillräckligt för att man ska bli lite småstörd på det. Kan det bero på för lite minne eller helt enkelt något annat jag har missat? Att kombinationen är ostabil på något sätt har jag inte märkt något av, men min burk har inte direkt något belastning heller så.

Förövrigt, om någon har en bra introduktionssida med ruby/rails tutorials eller kanske en (billig) bok för ändamålet är jag tacksam för alla tips.

Tänk på att du kör rails som en cgi app (om din vhost liknar den ovan), då går det inget vidare snabbt iom att den start en ny ruby instans vid varje hit och därmed må ladda om hela ramverket.

Om du bara vill "testa lite" så är det nästan lättast att bara köra in lighttpd och köra ./script/server

Ursprungligen av johan dansk:

Tänk på att du kör rails som en cgi app (om din vhost liknar den ovan), då går det inget vidare snabbt iom att den start en ny ruby instans vid varje hit och därmed må ladda om hela ramverket.

Om du bara vill "testa lite" så är det nästan lättast att bara köra in lighttpd och köra ./script/server

Kan jag köra Rails på något annat sätt under Apache utan att köra det som cgi? Det måste ju gå att få snabbt på något sätt under Apache. Eller är det helt enkelt en prestanda fråga, behöver jag snabbare burk?

Det jag läst är att mod_cgi ska vara rätt segt för Rails men mod_fcgid (FastCGI) ändå ska vara rätt snabbt. Men kanske inte tillräckligt? Om nu lighttpd är så mycket snabbare måste väl ändå Apache ha någon liknande lösning för att köra Rails?

Alla tips mottages tacksamt!

1
Bevaka tråden