rails 3 backends

Are there any decent backends for rails 3? passenger is disqualified
because of it's unfriendly install. I have a software distribution
system. I don't compile software on production machines.
mongrel2 is disqualified because it won't compile on *BSD, since
it insists on having sys/sendfile.h

Thanks.

Ken

I've used nginx and lighttpd without any issues, no idea if there are
pre-compiled ports for BSD however.

I found the passenger install to be quite friendly. The
owner/maintainer goes above and beyond to assist with issues.

I have apache with passenger, nginx with passenger, and mongrel running
on FreeBSD 7.3 and MACOSX 10.6.4. I didn't have any compile problems
with any of them that I recall. I am in the process of phasing out the
mongrels I am running in favor of nginx with passenger. The maintainer
for passenger has been very helpful when I had a problem.

The apache and passenger combination was a very easy install. Nginx with
passenger was a little more involved but once again not very difficult.
You need to be careful to copy all the files in the gem to your production
machine, including the support programs which are built when compiling
passenger for a particular web server.

Kim

Are there any decent backends for rails 3?

Yes: passenger and mongrel are very decent backends.

passenger is
disqualified because of it's unfriendly install. I have a software
distribution system. I don't compile software on production
machines.
mongrel2 is disqualified because it won't compile on *BSD, since
it insists on having sys/sendfile.h

At least on Debian Linux there are binary packages for passenger
(libapache2-mod-passenger) as well as mongrel. Apparently you are on a
*BSD-based system. In case you haven't looked already, make sure there
are no binary packages readily available for your systems. Consider
building the necessary packages yourself and integrate them with your
distribution system.

From your question I assume that you don't yet have much experience with
deploying rails applications. If this is the case, I'd recommend using
passenger in favor of mongrel and the more esoteric options. It is
easier to get support and it is easier in production as there aren't as
many (different) processes you need to monitor. -- If I misinterpreted
your question, well, go ahead and use your experience.

Michael

Quoth Michael Schuerig (michael@schuerig.de):

> Are there any decent backends for rails 3?

Yes: passenger and mongrel are very decent backends.

> passenger is
> disqualified because of it's unfriendly install. I have a software
> distribution system. I don't compile software on production
> machines.
> mongrel2 is disqualified because it won't compile on *BSD, since
> it insists on having sys/sendfile.h

At least on Debian Linux there are binary packages for passenger
(libapache2-mod-passenger) as well as mongrel. Apparently you are on a
*BSD-based system. In case you haven't looked already, make sure there
are no binary packages readily available for your systems. Consider
building the necessary packages yourself and integrate them with your
distribution system.

>From your question I assume that you don't yet have much experience with
deploying rails applications. If this is the case, I'd recommend using
passenger in favor of mongrel and the more esoteric options. It is
easier to get support and it is easier in production as there aren't as
many (different) processes you need to monitor. -- If I misinterpreted
your question, well, go ahead and use your experience.

Alas, after finally getting passenger built and disted to a test
machine, the process spawner segfaults in libpthread. As for mongrel2,
it won't compile on FreeBSD. My production system is currently running
apache/mongrel happily enough, but I was hoping to use ruby 1.9.2
when I switch to rails 3, and mongrel version 1 doesn't play well
with ruby19.

Ken

Quoth Michael Schuerig (michael@schuerig.de):

Are there any decent backends for rails 3?

Yes: passenger and mongrel are very decent backends.

passenger is
disqualified because of it's unfriendly install. I have a software
distribution system. I don't compile software on production
machines.
mongrel2 is disqualified because it won't compile on *BSD, since
it insists on having sys/sendfile.h

At least on Debian Linux there are binary packages for passenger
(libapache2-mod-passenger) as well as mongrel. Apparently you are on a
*BSD-based system. In case you haven't looked already, make sure there
are no binary packages readily available for your systems. Consider
building the necessary packages yourself and integrate them with your
distribution system.

From your question I assume that you don't yet have much experience with
deploying rails applications. If this is the case, I'd recommend using
passenger in favor of mongrel and the more esoteric options. It is
easier to get support and it is easier in production as there aren't as
many (different) processes you need to monitor. -- If I misinterpreted
your question, well, go ahead and use your experience.

Alas, after finally getting passenger built and disted to a test
machine, the process spawner segfaults in libpthread.

I know there's some issue with Passenger and OpenBSD's pthreads, but it's supposed to work on FreeBSD, according to their docs, so I think the Passenger devs would appreciate a bug report[1] about that.

Out of interest, were you using the FreeBSD rubygem-passenger port (which seems to be actively maintained[2]), or hand-rolling something?

As for mongrel2,
it won't compile on FreeBSD. My production system is currently running
apache/mongrel happily enough, but I was hoping to use ruby 1.9.2
when I switch to rails 3, and mongrel version 1 doesn't play well
with ruby19.

Unicorn[3] has been getting some attention lately (i.e. Twitter and GitHub are using it). It's 1.9-compatible, and I remember seeing some FreeBSD-specific options in its config, so it could be worth a look.

Chris

[1] http://code.google.com/p/phusion-passenger/issues/list
[2] http://www.freebsd.org/cgi/cvsweb.cgi/ports/www/rubygem-passenger/
[3] http://unicorn.bogomips.org/

Quoth Chris Mear (chrismear@gmail.com):

> Quoth Michael Schuerig (michael@schuerig.de):
>>> Are there any decent backends for rails 3?
>>
>> Yes: passenger and mongrel are very decent backends.
>>
>>> passenger is
>>> disqualified because of it's unfriendly install. I have a software
>>> distribution system. I don't compile software on production
>>> machines.
>>> mongrel2 is disqualified because it won't compile on *BSD, since
>>> it insists on having sys/sendfile.h
>>
>> At least on Debian Linux there are binary packages for passenger
>> (libapache2-mod-passenger) as well as mongrel. Apparently you are on a
>> *BSD-based system. In case you haven't looked already, make sure there
>> are no binary packages readily available for your systems. Consider
>> building the necessary packages yourself and integrate them with your
>> distribution system.
>>
>>
>> From your question I assume that you don't yet have much experience with
>> deploying rails applications. If this is the case, I'd recommend using
>> passenger in favor of mongrel and the more esoteric options. It is
>> easier to get support and it is easier in production as there aren't as
>> many (different) processes you need to monitor. -- If I misinterpreted
>> your question, well, go ahead and use your experience.
>
> Alas, after finally getting passenger built and disted to a test
> machine, the process spawner segfaults in libpthread.

I know there's some issue with Passenger and OpenBSD's pthreads, but it's supposed to work on FreeBSD, according to their docs, so I think the Passenger devs would appreciate a bug report[1] about that.

This was on a NetBSD 5 virtual running under Xen.

Out of interest, were you using the FreeBSD rubygem-passenger port (which seems to be actively maintained[2]), or hand-rolling something?

Downloaded as source, compiled under NetBSD 5, disted to test machine.

> As for mongrel2,
> it won't compile on FreeBSD. My production system is currently running
> apache/mongrel happily enough, but I was hoping to use ruby 1.9.2
> when I switch to rails 3, and mongrel version 1 doesn't play well
> with ruby19.

Unicorn[3] has been getting some attention lately (i.e. Twitter and GitHub are using it). It's 1.9-compatible, and I remember seeing some FreeBSD-specific options in its config, so it could be worth a look.

Ah! I hadn't heard of that one. I'll investigate on Monday. Thanks
much!

Ken

Happy Unicorn + nginx customer here. Rock solid. Have been using the
combination for about half a year now and hasn't skipped a beat.

mongrel2 is only a few months old; there's no way I'd consider letting
it within 5 miles of a production server.

Cheers,
Wincent