How exciting! A new Ruby release to play with.
I figured it was time to migrate this particular app to 1.9.1 on the integration server. We've been developing this app with 1.9 and all looks good.
- Upgraded Nginx to version 0.7.64
- Installed Ruby 1.9.1-p376
- Installed Passenger 2.2.7
- Configured Nginx to use the new versions of Ruby and Passenger
- ... and restarted Nginx
I hit the home page of the app.... Sweet, it works! Yay!
At this point I did a minor happy dance. Nothing over the top, you know... just a little wiggle :)
Then I tried to login to the app... "500 Internal Server Error"
I stopped dancing right there.
It turns out that POST requests fail for Ruby 1.9.1 and Passenger.
Fortunately, there is a patch.
Patching tempfile.rb did the trick. On that particular machine, tempfile.rb was located at /usr/local/lib/ruby19/1.9.1/tempfile.rb