我们在 GCP 中的 Linux 虚拟机上安装了 Jenkins。主站和从站都有足够的 CPU 和内存。这由多个项目和多个并行运行的管道组成。最近我们注意到一个项目时不时出现504网关超时,无法进入特定项目页面。到目前为止,我们找到的唯一解决方案是重新启动 Jenkins master。之后它将完美地工作。 Jenkins 日志和journalctl 不会对此产生任何错误。到目前为止,我发现 Jenkins 无法给出 504 错误,并且该错误来自其他地方,但我已经没有关于如何解决此问题的想法了。
我在 Jenkins 前面配置了一个用于 SSL 证书的 nginx,下面是配置。
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
这个问题好像没有具体的答案。但是,我在某处读到,这是 GCP 特有的内容,并建议增加机器类型,因为这可能是 IOPS 问题。因此,我已将我们的机器类型更改为更高版本并立即观察。到目前为止,一切都还好,没有出现504错误。