4

私はnginxを初めて使用し、ruby 2.0.0、phusion Passenger 4.0.2、およびnginx 1.4.1を使用してRedmine 2.3を実行しようとしています。これは、Arch Linux ARM の ARMv5te システムで Passenger-install-nginx スクリプトからコンパイルされます。

nginx ログに次のように表示されます: (注: ログ/構成からサーバー名を削除しました)

2013/05/08 23:41:12 [notice] 1359#0: signal process started
[ 2013-05-08 23:41:13.1325 1367/b6f9a000 agents/HelperAgent/Main.cpp:554 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.1363/generation-0/request.socket
[ 2013-05-08 23:41:13.2641 1387/b6f26000 agents/HelperAgent/Main.cpp:554 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.1381/generation-0/request.socket
[ 2013-05-08 23:41:13.3028 1392/b6faa000 agents/LoggingAgent/Main.cpp:272 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.1381/generation-0/logging.socket
[ 2013-05-08 23:41:15.9700 1387/b59ff450 Pool2/Spawner.h:739 ]: [App 1408 stdout] 
[ 2013-05-08 23:41:43.5820 1387/b6b4a450 Pool2/Spawner.h:159 ]: [App 1408 stderr] /var/www/sites/public-redmine-2.3/lib/SVG/Graph/Graph.rb:3: warning: class variable access from 
toplevel
[ 2013-05-08 23:41:55.8491 1387/b59ff450 Pool2/Spawner.h:739 ]: [App 1439 stdout] 
[ 2013-05-08 23:44:15.2842 1387/b57ff450 agents/HelperAgent/RequestHandler.h:581 ]: [Client 20] Disconnecting with error: invalid SCGI header
2013/05/08 23:44:15 [error] 1402#0: *3 upstream prematurely closed connection while reading response header from upstream, client: 192.168.4.254, server: (removed), request: "POST /login HTTP/1.1", upstream: "passenger:/tmp/passenger.1.0.1381/generation-0/request.socket:", host: "(removed)", referrer: "http://(removed)/login"

redmine の任意のページで HTTP POST を実行するたびに、最後のエラーが一貫して発生します。HTTP GET リクエストは、レンダリングされたページで正常に機能します。

nginx.conf

worker_processes  2;

events {
    worker_connections  1024;
}


http {
    passenger_root /usr/lib/ruby/gems/2.0.0/gems/passenger-4.0.2;
    passenger_ruby /usr/bin/ruby;

    passenger_max_pool_size  2;
    passenger_pool_idle_time 120;
    passenger_pre_start http://(removed)/;
    passenger_spawn_method smart;


    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }    
    }

    include sites-enabled/*.conf;
}

サイト対応/redmine.conf

server {
    listen *:80;
    server_name (removed);

    passenger_enabled on;
    rails_env production;

    passenger_spawn_method conservative;

    root /var/www/sites/kamikaze-kb/public;

    location /plugin_assets/ {
        root /var/www/sites/kamikaze-kb/public/plugin_assets/;
    }
}

関連する可能性のあることの1つ-組み込みのRuby Webrickサーバーを使用すると、redmineを正常に実行できるため、これはnginx/passengerの問題である可能性が高いと推測しています. 誰が問題が何であるかについて何か考えを持っていますか?

4

5 に答える 5

0

おそらく、off_t 値で「%ui」変換を実行する Passenger ContentHandler.c のバグです。要するに、行を見つけます

b->last = ngx_snprintf(b->last, 10, "%ui", r->headers_in.content_length_n);

ContentHandler.c で、それを次のように置き換えます

b->last = ngx_snprintf(b->last, 10, "%O", r->headers_in.content_length_n);

詳細はこちら:

https://github.com/phusion/passenger/issues/1151

于 2014-07-13T03:24:18.787 に答える
-1

最近はありません

gem remove

3 0 19をインストールするだけです

その後、バージョンを確認してください

passenger --version

わかりました - v 4 を削除する必要があるようです

gem uninstall ....

pas --ver

今はv3

于 2013-10-09T01:59:15.003 に答える