Some techie details on the visualizeus backend
Bryan asks me via the contact form, about some general details on the visualizeus backend side. I’m going to answer him with this post hoping to satisfy that techie curiosity we all have ;)
So let’s start talking about the hardware side. Maybe you’ve missed the news, but visualizeus is now running on a new dedicated server instead of a virtual private server (VPS), as before. That means visualizeus is now on a full machine for its own, instead of sharing a sliced big machine. It’s the second migration in the last six months and I hope it would last some time here ;) About the technical specs of the server, for those who cares, is a Core 2 Duo E4500 with 1GB RAM and 250GB HD x 2 in RAID 1. With a tight budget, I rather preferred going the RAID way instead of getting more RAM memory. Migrating to RAID in a future can be a pain in the ass, and data integrity is something I do care a lot. On the other hand, getting more memory is simple as pie, and requires only a reboot.
In the software side, Debian Etch is the operating system of choice (apt-get rules!) and as webserver, I’ve chose nginx, instead of a conventional Apache. nginx (pronounced “engine x”) is a very stable, lightweight, russian webserver which is rocking hard lastly. And over all, it has a very small memory footprint versus Apache which translates into “I can serve more with less”. The only con is was the lack of english documentation, but to be fair that was a problem on the beginnings. Right now, the number of people using nginx is increasing, and thus the blog posts about it, tutorials, documentation and so on. The english wiki is a nice start point.
So, because of that initial lack of documentation, nginx took me some time to properly set it up. That’s because I was also used to Apache, and for example, in nginx there’s no mod_php nor even a substitute. You have to use PHP with FastCGI as a separate daemon, and configure nginx to use it. Same goes for Perl or whatever other server side language you use. Also the mod_rewrite rules aren’t exactly the same for nginx, they are very similar though, but it took me some time to figured it out some details.
Talking about server side technologies, I only have PHP 5 for visualizeus source code and Perl for minor 3rd party software, such as AWStats or Munin for server monitoring. I also used Python as the language of choice for the rest of the visualizeus scripts, like the visualizeus Thumbnail Robot or some maintenance scripts that are running periodically. But I don’t really need it to serve pages via the webserver so I can keep the nginx stack lighter.
In general, that’s my main philosophy when talking about sysadmin: keep it lean, because lean means less to maintain! When you’re a one man orchestra it’s something to care about. For example, I don’t have any mail services configured nor installed, I delegate that tasks to other 3rd party services. And same goes for DNS management for example. Less here means more time in development!
Have some question to make? Want to know more about something? Just let me know ;)
4 Comments
RSS feed for comments on this post.
Sorry, the comment form is closed at this time.
Why not lighttpd instead of nginx?
I’m not suggesting anything, i’m only curious ;)
To be fair, I also reviewed lighttpd when taking that technology decision. While in terms of performance both are very very similar according to the benchmarks I found, I’ve also read about some memory leaks and lack of stability in lighttpd. Of course that was something I could live with, because probably they are insignificant.
The major factor was the “limited” functionality of lighttpd rewrite module that worried me. That would take some serious software changes, because of the high importance of the url clean rewritals in visualizeus. Almost all complex url rewritals must have been done in the PHP side, and that is something I’ve never liked. But that’s story for another post ;)
Long story short, I like russian vodka :D
Have a look at the video for wordpress release 2.6.
The browser has visualizeus button ;)
http://wordpress.org/development/2008/07/wordpress-26-tyner/
Woaa, thanks for the tip!
Nice… ;D