前言
管理Linux服务器时,很多操作并不复杂,但命令比较分散。查看系统负载要用一组命令,检查服务状态又是另一组,想继续看日志,还要切换到journalctl。
如果只是日常查看服务器状态,这种操作方式并不总是高效。Cockpit提供了一套基于浏览器的管理界面,把系统资源、日志、用户、systemd服务和终端集中到同一个页面中。
它不会替代Linux原有的管理机制,也不是完全摆脱命令行,而是把一部分常见操作做成了可视化界面。需要进一步排查问题时,仍然可以直接从Cockpit进入Web终端继续处理。
本文将在CentOS环境中安装Cockpit,实际查看系统状态、日志、用户和服务页面,并完成基本的Web管理体验。
局域网访问验证完成后,还会通过cpolar为Cockpit的9090端口创建公网入口,让其他网络中的电脑也可以打开这套服务器管理界面。

1.什么是Cockpit?
Cockpit 是一个免费、开源、轻量级的 Web 控制台(Web-based GUI),专为 Linux 服务器的可视化管理和监控 而设计。它的核心目标是:让服务器管理变得更简单、更直观,即使你不熟悉命令行也能高效运维。
核心特点
| 特性 | 说明 |
|---|---|
| 基于浏览器 | 只需打开浏览器(如 Chrome、Firefox),输入 https://你的服务器IP:9090 即可访问,无需安装额外客户端。 |
| 实时交互 | 所有操作(如查看日志、重启服务)都是实时的,界面会自动刷新,无需手动执行 top 或 journalctl。 |
| 轻量低开销 | 后台进程(cockpit-ws)资源占用极小,仅在用户连接时活跃,断开后几乎不消耗系统资源。 |
| 安全可靠 | 使用 HTTPS 加密通信,默认集成系统用户认证(支持 root 或 sudo 用户登录),权限与本地一致。 |
| 模块化设计 | 核心功能精简,但可通过插件扩展(如 Docker 容器管理、KVM 虚拟机、存储管理等)。 |
主要功能
- 系统概览:实时查看 CPU、内存、磁盘、网络使用率。
- 服务管理:启动/停止/重启 systemd 服务(如 nginx、docker),查看服务状态和日志。
- 日志查看:图形化浏览 journalctl 系统日志,支持按时间、服务过滤。
- 用户账户管理:创建、删除用户,修改密码,管理 SSH 密钥。
- 网络配置:查看网卡信息、防火墙规则(firewalld),配置 IP 地址(部分发行版支持)。
- 软件包更新:在支持的系统(如 RHEL/CentOS/Fedora)上直接安装安全更新。
- 终端访问:内置 Web 终端,必要时可随时切换到命令行。
- 容器管理(需安装插件):管理 Podman 或 Docker 容器、镜像、卷。
- 虚拟机管理(需安装插件):通过 cockpit-machines 管理 KVM 虚拟机。
支持的操作系统
Cockpit 原生支持主流 Linux 发行版:
- RHEL / CentOS / Rocky Linux / AlmaLinux(7+)
- Fedora
- Ubuntu / Debian
- openSUSE
在 RHEL/CentOS 系列中,Cockpit 是官方推荐的管理工具,甚至从 RHEL 8 开始默认预装。
安全性如何?
- 默认使用 TLS/SSL 加密(自签名证书,可替换为正式证书)。
- 认证完全依赖系统 PAM,即你用什么密码登录服务器,就用什么密码登录 Cockpit。
- 不会绕过系统权限------普通用户只能管理自己有权操作的服务。
- 默认监听 9090 端口,可通过防火墙严格限制访问 IP。
适合谁用?
- Linux 新手:快速上手服务器管理,避免命令行"恐惧症"。
- 开发者:快速查看应用日志、重启服务、监控资源。
- 系统管理员:远程批量管理多台服务器(支持仪表盘聚合)。
- 教育/演示场景:直观展示系统状态,便于教学。
注意事项
- 不是万能替代品:复杂脚本、自动化任务仍需命令行或 Ansible 等工具。
- 默认端口 9090:需确保未被其他服务(如 Prometheus)占用。
- 生产环境建议
- 限制防火墙只允许可信 IP 访问 9090 端口。
- 使用强密码或 SSH 密钥认证。
- 定期更新 Cockpit 包以修复安全漏洞。
Cockpit = 把 Linux 服务器的"驾驶舱"搬到你的浏览器里------仪表盘、控制杆、故障诊断一应俱全,让运维从"盲操"变为"可视化飞行"。
如果你厌倦了记忆 systemctl、journalctl、df -h 等命令,Cockpit 就是你一直在找的"运维 GUI 革命"。
2.安装前提条件
执行如下命令安装并启用epel-release:
shell
yum install epel-release

安装kvm:
shell
yum install qemu-kvm libvirt libvirt-daemon virt-install virt-manager libvirt-dbus systemctl start libvirtd.service

开启libvirtd服务:
shell
systemctl start libvirtd.service
3.安装Cockpit
安装Cockpit:
在安装Cockpit时禁用PostgreSQL仓库(可以不禁用 我这里报错所以禁用一下)
shell
sudo yum install -y --disablerepo=pgdg-common cockpit

安装完毕后执行如下命令启动Cockpit服务并设置为自动启动:
shell
systemctl start cockpit
systemctl enable cockpit

执行下面命令查看是否启动成功:
shell
systemctl status cockpit

部署完成后,在浏览器中输入http://IP:9090就能看到的界面:

4.使用Cockpit
4.1 如何登录
使用你Centos7的用户名及密码登录:

登录成功:


4.2 成果演示
系统板块:
展示了名为k8s-master的CentOS 7虚拟机在一段时间内的系统性能监控数据,包括CPU使用率、内存占用、磁盘I/O和网络流量的实时变化情况。

日志板块:
该页面是Cockpit的日志界面,显示k8s-master主机在2026年7月8日的系统日志,其中频繁出现因路径不存在导致blackbox_exporter和k8s/home服务启动失败的错误,同时还存在NTP时间同步失败、mysql_exporter启动异常以及rsyslog状态文件读取问题,表明系统在监控组件部署和基础服务配置方面存在明显缺陷,需逐一排查修复。

用户板块:
该页面展示了k8s-master主机上的用户账户管理界面,当前存在elasticserach、tomcat、root和shan四个用户账户,并提供创建新账户的功能。

服务板块:
该页面展示了k8s-master主机的系统服务状态,其中部分关键服务如alertmanager.service和auditd.service启动失败,AdGuardHome和blackbox_exporter正在自动重启中,而cockpit、containerd、cpolar等服务正常运行,整体反映出系统存在部分服务异常和配置问题。

终端板块:
一键连到终端操作。

Cockpit本身提供了一个强大而直观的Web管理界面,但默认仅限于局域网访问。通过与cpolar结合,可以轻松实现内网穿透,将本地Cockpit服务安全地暴露到公网,无需复杂网络配置或公网IP,即可随时随地通过HTTPS加密通道远程管理服务器,极大提升了运维灵活性与可及性。
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
shell
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
shell
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:
- 隧道名称:可自定义,本例使用了:cockpit,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:9090
- 域名类型:随机域名
- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

7.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是cockpitt,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道,点击右侧的编辑。

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

总结
完成以上配置后,Cockpit已经运行在CentOS服务器中,并通过9090端口提供Web管理界面。
使用服务器现有的系统账号登录后,可以在浏览器中查看CPU、内存、磁盘和网络等运行状态,也可以进入日志页面检查系统事件和服务报错。
用户页面可以查看当前系统账户,服务页面则集中展示systemd服务的运行状态,并提供对应的启动、停止和重启操作。
如果图形界面无法完成某些操作,还可以直接打开Cockpit内置终端,继续使用Linux命令进行处理。
通过cpolar为9090端口创建公网隧道后,原本只能在服务器所在局域网中访问的Cockpit页面,也可以从其他网络环境打开。
随机域名适合临时远程管理,配置固定二级子域名后,可以获得一个更加方便保存和持续使用的管理入口。
从Cockpit安装、系统状态查看,到日志、用户、服务和远程访问,本文完成了一套基于浏览器的Linux服务器管理流程。
行状态,并提供对应的启动、停止和重启操作。
如果图形界面无法完成某些操作,还可以直接打开Cockpit内置终端,继续使用Linux命令进行处理。
通过cpolar为9090端口创建公网隧道后,原本只能在服务器所在局域网中访问的Cockpit页面,也可以从其他网络环境打开。
随机域名适合临时远程管理,配置固定二级子域名后,可以获得一个更加方便保存和持续使用的管理入口。
从Cockpit安装、系统状态查看,到日志、用户、服务和远程访问,本文完成了一套基于浏览器的Linux服务器管理流程。