确保Jenkins服务器能正常访问互联网(用于下载插件、依赖包)及内部网络(用于与代码仓库、构建节点通信)。使用ping命令测试连通性(如ping www.baidu.com),若无法访问,需检查网卡驱动、物理连接或网络服务商问题。
避免动态IP变动导致Jenkins无法被访问。编辑网络配置文件(路径:/etc/sysconfig/network-scripts/ifcfg-<接口名>,如ifcfg-ens33),修改以下参数:
DEVICE=ens33
BOOTPROTO=static # 改为静态IP
IPADDR=192.168.1.100 # 静态IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关地址
DNS1=8.8.8.8 # 首选DNS服务器
DNS2=8.8.4.4 # 备用DNS服务器
ONBOOT=yes # 开机自启
保存后重启网络服务:sudo systemctl restart network。
修改/etc/sysctl.conf文件,调整以下关键参数以提升网络性能(主要针对TCP连接复用、端口范围、缓冲区大小等):
net.ipv4.tcp_fin_timeout = 30 # TCP连接关闭后等待回收的时间(秒),减少TIME_WAIT状态连接
net.ipv4.tcp_tw_reuse = 1 # 允许复用TIME_WAIT状态的连接,提升并发能力
net.ipv4.tcp_max_syn_backlog = 8192 # SYN队列长度,应对高并发连接请求
net.ipv4.tcp_max_tw_buckets = 5000 # 系统允许的TIME_WAIT连接最大数量
net.ipv4.tcp_keepalive_time = 1200 # TCP保活时间(秒),检测死连接
net.ipv4.ip_local_port_range = 10000 65000 # 本地端口范围,扩大可用的临时端口
net.ipv4.tcp_rmem = 4096 87380 6291456 # 接收缓冲区大小(最小/默认/最大)
net.ipv4.tcp_wmem = 4096 65536 6291456 # 发送缓冲区大小(最小/默认/最大)
应用配置:sudo sysctl -p。
Jenkins处理大量并发构建时,需增加文件描述符上限。编辑/etc/security/limits.conf文件,添加以下内容:
* soft nofile 65535 # 普通用户软限制
* hard nofile 65535 # 普通用户硬限制
jenkins soft nofile 65535 # Jenkins用户软限制
jenkins hard nofile 65535 # Jenkins用户硬限制
修改后需重新登录Jenkins用户(或重启服务器)使配置生效。
使用firewalld(推荐)或iptables开放Jenkins默认端口(8080)及其他必要端口(如SSH:22、Git:22):
# 开放HTTP端口(8080)
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 开放HTTPS端口(443,若启用HTTPS)
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重新加载防火墙规则
sudo firewall-cmd --reload
若使用iptables,命令示例:sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT,并保存规则(sudo service iptables save)。
/etc/sysconfig/jenkins文件,更改JENKINS_PORT参数(如改为9999),避免默认端口被扫描攻击:JENKINS_PORT="9999"
重启Jenkins服务:sudo systemctl restart jenkins。Manage Jenkins → Configure System)中,设置Jenkins URL为服务器IP或域名(如http://192.168.1.100:9999),确保代理节点或用户能正确访问。通过Nginx/Apache作为反向代理,隐藏Jenkins真实IP、启用HTTPS(SSL加密)、负载均衡(多节点场景)。以Nginx为例,配置示例:
server {
listen 80;
server_name jenkins.example.com; # 替换为你的域名或IP
return 301 https://$host$request_uri; # 强制跳转HTTPS
}
server {
listen 443 ssl;
server_name jenkins.example.com;
ssl_certificate /path/to/cert.pem; # SSL证书路径
ssl_certificate_key /path/to/key.pem; # SSL私钥路径
location / {
proxy_pass http://127.0.0.1:9999; # 转发到Jenkins实际端口
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;
}
}
重启Nginx:sudo systemctl restart nginx。
将构建任务分配给多个代理节点(Slave),减轻主节点网络压力。在Jenkins Web界面(Manage Jenkins → Manage Nodes and Clouds)中:
slave1),选择“Permanent Agent”;/home/jenkins/slave);使用Jenkins插件(如Performance Plugin、Monitoring)或系统工具(如top、ss、netstat)监控网络性能:
ss -tulnp查看监听端口,netstat -antp查看活跃连接);以上步骤覆盖了CentOS环境下Jenkins网络配置的基础优化与进阶调整,可根据实际业务需求(如高并发、分布式构建)灵活组合使用。