问题:
Confluence(wiki)服务访问突现:504 Gateway Time-out
分析:
通过错误信息:504 Gateway Time-out,初步判断是路由问题,因为Confluence前边用了Nginx,所以第一反应就是排查Nginx。
解决方法:
这里说一点:作为系统运维,我们首要的任务是恢复服务,再去排查问题,否则等你排查出来问题,不知道啥时候了。
第一步:Kill nginx 并重启nginx
把Nginx的服务直接通过ps -aux | grep nginx,找到Confluence的PID,然后直接kill,然后再把Nginx的服务起起来,应该是就恢复了,不过最好是,在kill nginx的同时把confluence也关闭了,然后再把两个服务重新启动。
我的nginx 关闭重启的方式:关闭:/etc/init.d/nginx stop 启动:/etc/init.d/nginx start
第二步:重启Confluence
我的Confluence安装在:/opt/atlassian/confluence/bin 此路径下有启动关闭命令:startup.sh 和关闭命令:shutdown.sh
如果要执行启动命令:./startup.sh 执行关闭命令:./shutdown.sh
第三步:排查问题
查看nginx日志,nginx的日志默认安装在:/usr/local/nginx/logs 我们可以打开看看error.log 在日志中找错误信息。
在日志中找到如下信息:[error] 12443#0: *14037428 upstream timed out (110: Connection timed out) while reading response header from upstream,
需要修改nginx.conf 配置文件中的server块设置,我的nginx配置文件有两个,一个是nginx.conf 一个是nginx.conf.default,历史遗留问题。
增加如下配置:红色为增加部分
server {
listen 80;
server_name localhost;
large_client_header_buffers 4 16k;
client_max_body_size 300m;
client_body_buffer_size 128k;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
#........................
}
然后,重启一下nginx,/etc/init.d/nginx restart
参考资料: