1

Redmine を Ubuntu 13.04 サーバーにインストールしました。このインストールは正常に機能し、Redmine が WEBrick サーバーを介して機能していることを確認しました (redmine のドキュメントに従って)。

物事をより安定させるために、Nginx & Thin の背後で Redmine を実行したいと考えています。

Nginxがタイムアウトを報告するので、この部分で私は問題に遭遇します:

2013/07/19 07:47:32 [error] 1051#0: *10 upstream timed out (110: Connection timed out) while connecting to upstream, .......

シン構成:

---
chdir: /home/redmine/app/redmine
environment: production
address: 127.0.0.1
port: 3000
timeout: 5
log: log/thin.log
pid: tmp/pids/thin.pid
max_conns: 128
max_persistent_conns: 64
require: []
wait: 10
servers: 1
daemonize: true

Thin が実行中で、pid ファイルが作成され、ログファイルが開始されていることがわかります。リクエストを行っているときに、ログファイルにそれ以上の追加が表示されません。

Nginx の構成:

upstream redmine {
        server 127.0.0.1:3000;
}

server {
        server_name redmine.my.domain;
        listen 443;

        ssl on;
        ssl_certificate /home/redmine/sites/redmine/certificates/server.crt;
        ssl_certificate_key /home/redmine/sites/redmine/certificates/server.key;

        access_log /home/redmine/sites/redmine/logs/server.access.nginx.log;
        error_log /home/redmine/sites/redmine/logs/server.error.nginx.log;

        root /home/redmine/app/redmine;

        location / {
                try_files $uri @ruby;
        }

        location @ruby {
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header  Host $http_host;
                proxy_redirect off;
                proxy_read_timeout 5;
                proxy_pass http://redmine;
        }
}

Nginx ログへの追加を確認できます。

これで問題がどこにあるのか、誰かにヒントを教えてもらえますか?

現在の結果iptables -L

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:3000
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
4

1 に答える 1

1

エラーは、ファイアウォールの「iptables」がポートをブロックしたためです。

iptables 設定をロールバックしてから、次のコマンドを発行します。

iptables -I INPUT -i lo -p tcp --dport 3123 -j ACCEPT

次の方法で設定を保存することを忘れないでください。

service iptables save

iptables の詳細: https://help.ubuntu.com/community/IptablesHowTo

上記のコマンドにはpssudoが必要な場合があります。

于 2013-07-19T08:36:41.007 に答える