温馨提示×

centos jenkins如何配nginx

小樊
46
2026-10-06 06:12:31
栏目: 智能运维

在 CentOS 上把 Jenkins 通过 Nginx 做反向代理,通常步骤如下(假设 Jenkins 已安装并运行在 8080 端口)。


一、环境前提

  • CentOS 7/8
  • Jenkins 已安装并运行(默认端口 8080)
  • Nginx 已安装

检查 Jenkins 是否在运行:

systemctl status jenkins

二、安装 Nginx(如未安装)

yum install -y nginx
systemctl enable nginx
systemctl start nginx

三、配置 Nginx 反向代理 Jenkins

1. 创建 Nginx 配置文件

vi /etc/nginx/conf.d/jenkins.conf

2. 写入以下配置

server {
    listen 80;
    server_name jenkins.example.com;   # 改成你的域名或服务器IP

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # WebSocket 支持(Jenkins 必需)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

四、检查并重启 Nginx

nginx -t
systemctl restart nginx

五、防火墙放行(如有)

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

六、Jenkins 系统配置(重要)

进入 Jenkins: Manage Jenkins → System

  • Jenkins URL 设置为:
http://jenkins.example.com/

(与你 Nginx 的 server_name 一致)


七、可选:HTTPS(推荐)

使用 Let’s Encrypt:

yum install -y certbot python3-certbot-nginx
certbot --nginx -d jenkins.example.com

八、常见问题

1. 页面能打开但构建卡住

✅ 确保 Nginx 配置了 WebSocket(Upgrade / Connection)

2. 反向代理报错

Jenkins 中勾选: Manage Jenkins → Security → 允许代理兼容


如果你需要:

  • HTTPS + 域名
  • Jenkins + Nginx + Docker
  • 多 Jenkins 实例反向代理

可以继续告诉我你的具体场景。

0 踩