
Ruby 1.8.7 + Apache + パッセンジャーから Ruby 1.9.1 + Nginx + パッセンジャーに移行したいラック アプリケーションがあります。
すべてを 1 つにまとめたクイック インストール用に次のスクリプトを作成しましたが、エラーが発生します...
インストール スクリプトは次のとおりです: (Ubuntu 10.04 Lucid Lynx の新規ボックスにすべてをインストールするために必要なすべての手順を含む基本的なスクリプト)
Nginx ソース
cd /tmp
wget http://nginx.org/download/nginx-0.7.66.tar.gz
tar xzf nginx-0.7.66.tar.gz
cd nginx-0.7.66
SSL/TLS には openssl が必要です
sudo apt-get install openssl
sudo apt-get install libssl-dev
コンピレーション
sudo apt-get zlib1g-dev
Ruby インタプリタ 1.9.1
sudo apt-get install ruby1.9.1 ruby1.9.1-dev rubygems1.9.1 irb1.9.1 \
ri1.9.1 rdoc1.9.1 build-essential nginx libopenssl-ruby1.9.1
デフォルトのRubyがバージョン1.9.1を使用していることを確認してください
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 400 --slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby1.9.1.1.gz --slave /usr/bin/ri ri /usr/bin/ri1.9.1 --slave /usr/bin/irb irb /usr/bin/irb1.9.1 --slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.1
sudo update-alternatives --config ruby
パッセンジャー (rake-0.8.7、fastthread-1.0.7、rack-1.1.0、passenger-2.2.14)
sudo gem install passenger
nginxでPassengerを有効化し、オプション2を選択して上記でダウンロードしたnginxソースを使用する
cd /var/lib/gems/1.9.1/gems/passenger-2.2.14/bin
sudo ./passenger-install-nginx-module
そして、これが私が受け取ったエラーメッセージです:
/var/lib/gems/1.9.1/gems/passenger-2.2.14/ext/nginx/ContentHandler.c
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function -Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I /tmp/pcre-8.00 -I objs -I src/http -I src/http/modules -I src/mail \
-o objs/addon/nginx/StaticContentHandler.o \
/var/lib/gems/1.9.1/gems/passenger-2.2.14/ext/nginx/StaticContentHandler.c
/var/lib/gems/1.9.1/gems/passenger-2.2.14/ext/nginx/StaticContentHandler.c: In function ‘passenger_static_content_handler’:
/var/lib/gems/1.9.1/gems/passenger-2.2.14/ext/nginx/StaticContentHandler.c:71: error: ‘ngx_http_request_t’ has no member named ‘zero_in_uri’
make[1]: *** [objs/addon/nginx/StaticContentHandler.o] Error 1
make[1]: Leaving directory `/tmp/nginx-0.7.66'
make: *** [build] Error 2
--------------------------------------------
It looks like something went wrong
Please read our Users guide for troubleshooting tips:
/var/lib/gems/1.9.1/gems/passenger-2.2.14/doc/Users guide Nginx.html
このエラーの原因がわかりません。これは互換性の問題でしょうか?
何か手がかりがあれば教えてください :)
答え1
nginx 0.7.67とPassenger 2.2.14で同じエラーが発生しています。これはバグのようです。このチケットによると、nginxの変更がPassengerの問題を引き起こしているようです。http://code.google.com/p/phusion-passenger/issues/detail?id=500Passenger 2.2.15 用のパッチがリリースされました。