On Tue, 13 Feb 2007 15:06:41 -0800
Raul [email protected] wrote:
Hi all! Well, I’m stuck again. I’m still trying to set up web servers to run a mongrel cluster behind nginx. I’ve successfully setup Apache 2.2 with a 5 and 10 mongrel cluster on a Windows server for testing but as a linux noob I’m having a hellish time just trying to compile and install nginx on a linux box. I can’t even get past compiling.
Raul, looks like folks are trying to sell you stuff so I’m going to
give you some additional information so you can make an informed
decision.
THE BEST ADMIN BOOK EVER
Litespeed and EngineYard are both good decisions, but
eventually you’ll have to learn how to manage your systems anyway, so
you might as well learn it now.
Go get this book:
http://www.amazon.com/UNIX-System-Administration-Handbook-3rd/dp/0130206016
And then a few more on basic unix or any that people who bought that
book recommend. Notice I don’t make any referral bonuses off telling
you to buy this. This book taught me most of what I know about system
administration and is a great sysadmin cookbook.
Since this list is populated by system administrators who are infected
with Not Invented Here syndrome I’m sure you’ll get all of their
favorite Linux books. Use your favorite online book seller to check
out reviews and then buy one or two to learn from.
THE BASE PLATFORM
Remember you can use nginx or apache and be good, but at first you can
also just run Mongrel. In fact, if you’re struggling with Unix then
skip any other solution and just have Mongrel go stag to the party until
you need more.
If you have a Mac then follow these instructions:
If you’ve got Linux, then try Debian (god saying that makes me cry)
with Coda’s instructions:
http://blog.codahale.com/2006/06/19/time-for-a-grown-up-server-rails-mongrel-apache-capistrano-and-you/
And the Mongrel instructions:
http://mongrel.rubyforge.org/docs/debian-sarge.html
Plan on screwing this up about the first 10 times, erasing the whole
machine and starting over from scratch. After you do it from beginning
to end once without any mistakes you’ll have learned enough to really
manage the systems and take charge.
IRC HELP
Feel free to hit me up on irc.freenode.org in #rubyonrails. I’m zedas
there. I’m super nice to newbies.
PAST EXPERIENCE
I’ve run nginx and apache with mongrel on the following:
- CentOS - Solid but you need to install more stuff via yum.
- RHEL - Disgusting, avoid it since you end up rebuilding half the
system.
- FreeBSD - Very nice, haven’t used it in a while but easy to get
all up.
- ArchLinux - This is what I use. No hassles at all. Ruby is
actually installed as ruby and with only one package.
- OSX - Pretty simple once you get past using darwinports/fink to
install requisites. Next version of OSX will include a full set of
gear and then some.
- Ubuntu - Eh, it’s Debian so follow the mongrel instructions for what
packages to install, otherwise very usable.
Mongrel is also reported to work on nearly everything that Ruby works
on, including:
- OpenBSD - I like these guys because they make fun of Debian too.
- NetBSD - I haven’t tried this, but pkgsrc is pretty cool. Too bad it
can’t build ruby for a damn on Linux.
- Solaris - Apparently ruby gear runs real fast on Solaris, but that’s
from Sun so pack your table salt.
- Windows - Lots of folks use this.
- Alien Spacecraft - But only if they don’t need really good IO.
And I’m sure there’s plenty I missed (so anyone else reading this just
keep your panties unbunched).
I also know most of the companies running Mongrel and they all run
their stuff on this range of OS. My informal survey says that CentOS
and Debian are the most popular.
HOSTING
I won’t play favorites so here’s a list of the companies I know of:
- Engine Y.
- Railsmachine
- Media Temple
- Rails Playground
- Planet Argon
- Joyent
- Dreamhost
- Textdrive
And I’m sure I’m missing some and have multiple companies confused with
each other since they constantly move around so people should feel free
to jump in and mention their companies. [Actually, if you’re running
Mongrel and offering hosting and I don’t remember you then you should
fire your entire marketing team and plan on being out of business in a
few months.]
BTW, Railsmachine and Engine Y. are the only two who’ve contributed
to helping Mongrel. Railsmachine (Bradley) did the mongrel_cluster and
railsmachine gems that are ultra handy while also donating money
towards the next version of Mongrel. Engine Y. (Ezra) did Merb and he
pioneered the nginx configurations as well as working on parts of
Mongrel.
If I’d recommend any it’s those two simply because they
actually help support the infrastructure that makes them money.
And no, writing a 6 paragraph blog post about bogus 4000 req/sec
performance metrics is not contributing.
BOOKS
I wrote a book so mine’s first, but you should check out all of them
and grab one or two if you need help in Rails deployment and
management. I highly recommend the O’Reilly Rails Cookbook because I
use the damn thing daily and Rob Orsini is a cool dude. I recommend my
book because it’s funny and useful. In fact I like all of these
authors so grab the ones that suit you. All of these books are also
available on the Safari bookshelf thingy except the Brazilian one.
http://www.awprofessional.com/bookstore/product.asp?isbn=0321483502&rl=1
http://safari.oreilly.com/0596527314
http://www.balanceonrails.com.br/
http://safari.oreilly.com/059652854X
http://safari.oreilly.com/0596101325
http://www.pragmaticprogrammer.com/ – search is broke.
http://www.awprofessional.com/promotions/promotion.asp?promo=3585&redir=1&rl=1
The pragmatic programmer’s have a small section on Mongrel in the
latest rails book, but the writing and instructions are garbage. Ezra
has a really good book coming out under pragprog on deploying rails but
I’m not sure if he’s finished it or if it’s in beta still.
And again I’m sure I missed some, so google around and wait for people
to yell at me for not pimping their stuff.
ADVICE
Thanks to Rails there’s more and more people like you being thrust into
managing Linux for the first time. Just like when you first started to
learn to code you’ll go through a period where you will suck and it’ll
be hard as hell. Keep going, keep reading, and keep breaking things
and then fixing them until you don’t break stuff anymore.
Running off to a commercial product isn’t bad, but it won’t help your
core problem which is a lack of knowledge of even basic tools. The best
situation is knowing your stuff and using a commercial product that
simplifies things for you. So learn to do this stuff right and then go
do the easy stuff–just like Calculus class.
Otherwise, you can do very large very enterprise class installations
without shelling out anything more than your own time and learning
effort.
Good luck.
–
Zed A. Shaw, MUDCRAP-CE Master Black Belt Sifu
http://www.awprofessional.com/title/0321483502 – The Mongrel Book
http://mongrel.rubyforge.org/
http://www.lingr.com/room/3yXhqKbfPy8 – Come get help.