Archive for December, 2005

native FastCGI is coming

Friday, December 30th, 2005

So, the Ruby on Rails people are getting excited about Apache HTTPD getting native FastCGI support.

To prove that mod_proxy_fcgi isn’t vaporware, I present a live/running demo.

And here is how its configured:

ProxyPass /fcgi-test fcgi-tcp://127.0.0.1:9500/

And here is the source code:

import cgi
import types

def myapp(environ, start_response):
start_response(‘200 OK’, [('Content-Type', 'text/html')])
out = “”
# Print all environment variables
out = out+”<h3>mod_proxy_fcgi test page</h3>”
out = out+”<dl>”
env_keys = environ.keys()
env_keys.sort()
for e in env_keys:
if (type(environ[e]) == types.StringType):
out = out+”<dt>”+cgi.escape(e+’='+’”‘+environ[e]+’”‘) + “</dt>”
out = out+”</dl>”
return out

if __name__ == ‘__main__’:
from flup.server.fcgi import WSGIServer
# from flup.server.ajp import WSGIServer
WSGIServer(myapp, bindAddress=(“127.0.0.1″,9500)).run()

Most of the credit really should go to Garrett. He has been writing most of the actual code. I have just been watching the Firefly DVDs and inserting sneer comments about how XYZ patch doesn’t work with XYZ library.

Finally, A shout out to the Flup library for python. It supports AJP, FastCGI and SCGI, making it much easier to move applications between all the available connector protocols.

Update: Okay, like any new code there are bugs. The test page isn’t working right now….. Oh well.

The colo move was good…

Friday, December 30th, 2005

Bloglines performance after the data center move has been GOOD:

200512292105

Via Grabperf.

Mark has posted parts 1, 2, and 3, explaining how the data center move was done.

It was a good Christmas present to finish the move.

Update: Mark has posted part 4, talking about the DNS and proxy magic that made it work.

mod_append_hostname

Wednesday, December 28th, 2005

mod_append_hostname is a very simple Apache 2.x filter module. It appends the hostname of the current machine, in an HTML comment, at the bottom of HTML content types:

<!– water-wireless.in.force-elite.com –>

Configuration:

LoadModule append_hostname_module modules/mod_append_hostname.so

AddOutputFilterByType append_hostname text/html

Very useful when one of your machines behind a load balancer is kinda broken. Based on the an example from Hacking Apache HTTP Server at Yahoo!. I actually wrote it an hour after the session, at ApacheCon US 2005, but I haven’t had a chance to post anything about it.

In case you missed it.

Monday, December 19th, 2005

Bloglines-Pirate

Bloglines is currently moving data centers. Say hello to our Pirate.

current status

Monday, December 12th, 2005

Ugh. Long Month. Tired. Short sentences coming:

Currently at ApacheCon.

I gave my What’s new in httpd 2.2 talk. Slides are available.

I have been invited / voted to become an ASF member.

Been insanely busy with $work. Our currently system is overloaded. Hopefully we will finish our colo move soon.

Wrote a patch to use apr_memcache as a session storage method for mod_ssl at the Hackathon this weekend.

HTTPD 2.2.0 Released

Friday, December 2nd, 2005

I was the release manager for Apache HTTPD 2.2.0. I have to say, being the release manager was the hardest thing I have ever done for Apache HTTPD. I think now that the 2.2.x branch is started, it will hopefully be an easier task. This also means we have are 2.3-dev on /trunk/. I am hoping to find time to help with the improved async work on the Event MPM.

After 9 alphas and beta in the last year, 2.2 is the next ’stable’ branch of Apache. Its a relatively easy jump from 2.0 too, but adds lots of new features. You should upgrade now.

We finally sent the release announcement yesterday. Coverage from the RSS Feeds and searches:

  • ZDNet (same article on Builder.com)- Kinda weird quoting the announcement like it was a press release. They also mention the RFP for helping with the ASF’s Infrastructure.
  • Slashdot – Smattering of comments all over the board. Seems like most people do like the Large File Support. At least one person likes the new httpd -M option, which dumps all loaded modules. I think that feature will be one of the best for helping confused users.
  • Brad – says: “Looks like most the stupid shit has been fixed:” Which, is a pretty good way to describe the 2.2 feature set. Lots of low hanging fruit fixes and features
  • collmmacc – No comments, but I will try to help increase his page rank.
  • JimJag – Notes that Apache 1.0.0 was released on the same day 10 years ago. Even if most of the original developers are no longer active, the project is still successful. I believe this is one of the most undervalued attributes of community, and hopefully other open source projects will learn that its the community that matters to long term success, not fighting over silly features.
  • Gentoo Bugzilla – Already have an open bug, requesting the ebuild.

A HUGE round of thanks to the many other Apache HTTP Server developers.