零命令行也能管服务器?Cockpit图形化运维实战指南

前言

你是否曾面对闪烁的终端光标感到无从下手?是否在深夜被“systemctl status 报错”或“磁盘爆满”警报惊醒,却因不熟悉命令行而手忙脚乱?对于开发者、初创团队成员,甚至只是想高效管理个人服务器的用户而言,Linux 服务器运维常被一道无形的高墙阻隔——那便是对命令行的深度依赖。

但时代在变,运维不该是少数人的“黑魔法”。想象一下:无需记忆繁杂指令,只需打开浏览器,就能像操作桌面应用一样实时监控 CPU 负载、一键管理容器、可视化配置网络、甚至远程修复服务——这并非未来幻想,而是 Cockpit 带来的现实。

Cockpit 是由 Red Hat 主导开发的开源服务器管理平台,它轻量、安全、开箱即用,直接集成于主流 Linux 发行版。它将复杂的系统操作转化为直观的图形界面,让服务器状态一目了然,让运维操作触手可及。无论你是刚接触 Linux 的新手,还是厌倦了重复敲命令的老手,Cockpit 都能让你的服务器管理效率飙升。

本文将带你从零开始部署 Cockpit,深入其核心功能场景,并分享在真实环境中(包括与 Prometheus 等工具共存时)的避坑经验。你将看到,强大的服务器管理,真的可以“零命令行”实现。准备好告别终端恐惧,开启你的可视化运维之旅了吗?

image-20260708161124241

1.什么是Cockpit?

Cockpit 是一个免费、开源、轻量级的 Web 控制台(Web-based GUI),专为 Linux 服务器的可视化管理和监控 而设计。它的核心目标是:让服务器管理变得更简单、更直观,即使你不熟悉命令行也能高效运维。

核心特点

特性 说明
基于浏览器 只需打开浏览器(如 Chrome、Firefox),输入 https://你的服务器IP:9090 即可访问,无需安装额外客户端。
实时交互 所有操作(如查看日志、重启服务)都是实时的,界面会自动刷新,无需手动执行 topjournalctl
轻量低开销 后台进程(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

yum install epel-release

29e44abf29c4115c3102666a33750f6e

安装kvm:

yum install qemu-kvm libvirt libvirt-daemon virt-install virt-manager libvirt-dbus systemctl start libvirtd.service

c199177b65b064e01782e5ef37357536

开启libvirtd服务:

systemctl start libvirtd.service

3.安装Cockpit

安装Cockpit:

在安装Cockpit时禁用PostgreSQL仓库(可以不禁用 我这里报错所以禁用一下)

sudo yum install -y --disablerepo=pgdg-common cockpit

400f77eb2675a9d75922bcdddf3544b4

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

systemctl start cockpit
systemctl enable cockpit

50ee2e9e245dee1abd6827cd2040c3cf

执行下面命令查看是否启动成功:

systemctl status cockpit

29457663a468d9a0197f4856316a4ad9

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

beacf9a8131492ca6068cf849c9ce279

4.使用Cockpit

4.1 如何登录

使用你Centos7的用户名及密码登录:

image-20260708161032229

登录成功:

image-20260708161050321

b4480494bd55254ff815c69762e17606

4.2 成果演示

系统板块:

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

image-20260708161741716

日志板块:

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

image-20260714115829379

用户板块:

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

image-20260708163236691

服务板块:

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

image-20260708163334970

终端板块:

一键连到终端操作。

image-20260708163438272

Cockpit本身提供了一个强大而直观的Web管理界面,但默认仅限于局域网访问。通过与cpolar结合,可以轻松实现内网穿透,将本地Cockpit服务安全地暴露到公网,无需复杂网络配置或公网IP,即可随时随地通过HTTPS加密通道远程管理服务器,极大提升了运维灵活性与可及性。

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

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

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

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

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:cockpit,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:9090
  • 域名类型:随机域名
  • 地区:选择China Top

image-20260708170600637

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

image-20260708170817268

访问成功。

image-20260708170831164

7.保留固定公网地址

使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

image-20250918151358733

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

image-20260708171107381

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

image-20260708170927634

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20260708170955884

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

image-20260708171124962

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

image-20260708171138182

总结

本文介绍了如何利用 Cockpit —— 一款开源的轻量级 Linux 服务器 Web 管理工具,实现“零命令行”图形化运维。通过浏览器即可实时监控系统资源(CPU、内存、磁盘、网络)、管理用户账户、查看日志、控制 systemd 服务、操作容器(如 Podman/Docker)等,大幅降低 Linux 运维门槛。文章还演示了在 CentOS 7/8 上安装配置 Cockpit 的具体步骤,并进一步结合 cpolar 内网穿透工具,实现安全远程访问本地 Cockpit 界面,即使服务器位于内网或无公网 IP 也能高效管理。整体强调:无需记忆复杂命令,运维新手也能像操作桌面应用一样轻松掌控服务器。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章