【发布时间】:2013-07-19 08:03:24
【问题描述】:
我在 Ubuntu 13.04 服务器上安装了 Redmine。 此安装运行良好,我确认 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
【问题讨论】:
-
错误日志说明了什么?
-
Nginx 错误日志行位于帖子顶部。
-
thin.3000.log 和 production.log 在 redmine dir 日志启动消息中。然后什么都没有添加。
-
我明白了。尝试 telnet 端口
-
"telnet 127.0.0.1 3000" 继续尝试(可能是超时)。