Cockpit 图形化服务器管理面板:告别命令行运维

概述

每次管服务器都要敲命令?Cockpit 是一个开源的 Web 服务器管理面板,装在 VPS 上后,你能在浏览器里完成绝大多数日常运维操作——看 CPU 占用、查磁盘空间、管用户、重启服务、甚至调终端。

它不像宝塔那么重,也不像宝塔那么封闭。Cockpit 只装你需要的功能模块,资源占用极低,适合任何 Linux 发行版。

准备工作

你需要满足以下条件:

  • 一台运行中的 Linux VPS(推荐 Ubuntu 22.04+ 或 Debian 12+)
  • root 权限或 sudo 权限
  • 开放端口 9090(后续会讲到防火墙配置)
  • 内存 256MB 以上即可运行

安装步骤

第一步:安装 Cockpit

Ubuntu / Debian 系统:

sudo apt update
sudo apt install -y cockpit

CentOS / RHEL / Rocky Linux:

sudo dnf install -y cockpit

Alpine Linux:

sudo apk add cockpit

第二步:启动并设置开机自启

sudo systemctl enable --now cockpit.socket

检查状态:

sudo systemctl status cockpit.socket

看到 active (listening) 就说明成功了。

第三步:配置防火墙

如果你用了 UFW(Ubuntu 默认):

sudo ufw allow 9090/tcp
sudo ufw reload

如果你用了 firewalld(CentOS/RHEL 默认):

sudo firewall-cmd --permanent --add-port=9090/tcp
sudo firewall-cmd --reload

如果你用了 iptables:

sudo iptables -A INPUT -p tcp --dport 9090 -j ACCEPT
sudo netfilter-persistent save

第四步(可选):绑定特定 IP 或添加 HTTPS

Cockpit 默认监听所有网卡。如果你想限制访问来源:

编辑 /etc/cockpit/cockpit.conf

[WebService]
Origins = https://*.yourdomain.com
Credentials = yes

加 HTTPS 更推荐的做法是用反向代理。以 Nginx 为例:

sudo apt install -y nginx certbot python3-certbot-nginx

创建配置文件 /etc/nginx/sites-available/cockpit

server {
    listen 443 ssl;
    server_name cockpit.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/cockpit.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cockpit.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:9090;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        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;
    }
}

启用并加载:

sudo ln -s /etc/nginx/sites-available/cockpit /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

第五步:安装常用模块

Cockpit 采用插件架构,按需安装:

# 容器管理(类似 Portainer)
sudo apt install -y cockpit-podman

# 网络管理
sudo apt install -y cockpit-networkmanager

# 存储管理(LVM、RAID)
sudo apt install -y cockpit-storaged

# 日志查看增强
sudo apt install -y cockpit-machines

# 终端增强
sudo apt install -y cockpit-shell

安装完成后重启 Cockpit:

sudo systemctl restart cockpit.socket

验证

浏览器打开以下地址之一:

  • HTTP 直连:http://你的VPS_IP:9090
  • 反向代理:https://cockpit.yourdomain.com

输入你的 root 用户名和密码登录。

登录后你会看到:

  1. 概览页 — CPU、内存、磁盘、网络的实时图表
  2. 终端 — 内置 Web Terminal,可以直接敲命令
  3. 服务 — 查看和管理 systemd 服务,一键启动/停止/重启
  4. 网络 — 配置网卡、DNS、防火墙规则
  5. 存储 — 查看磁盘分区、挂载点、LVM
  6. 账户 — 添加/删除用户、修改密码、配置 SSH 密钥

测试终端是否正常:点击左侧「终端」,输入 uptime,应该返回系统运行时间。

测试服务管理:点击「服务」→ 搜索 nginx → 点击「停止」→ 再点「启动」,观察状态变化。

常见问题

Q1:登录后提示「认证失败」

检查是否用了正确的 root 密码。如果你平时用 SSH 密钥登录没有设密码,需要单独设置:

passwd

Q2:页面加载很慢或打不开

通常是防火墙没放行端口 9090。确认防火墙已开放:

sudo ufw status | grep 9090

Q3:能不能限制只有特定 IP 能访问?

可以。在 Nginx 反向代理中加 IP 白名单:

allow 你的固定IP;
deny all;

Q4:Cockpit 占多少资源?

Cockpit 本身只占约 15-30MB 内存。安装模块后会略有增加,但总体不会超过 100MB。比宝塔面板轻得多。

Q5:支持中文吗?

支持。在登录页面底部可以选择语言,或者登录后点击右上角头像 → 「偏好设置」→ 选择「简体中文」。

Q6:能管多台服务器吗?

Cockpit 本身是单机的。但你可以用 Ansible 批量部署 Cockpit,或者通过跳板机集中管理。

总结

Cockpit 给不想天天敲命令的人提供了一个轻量级的管理入口。它不是万能的,但在日常运维场景下非常好用——看监控、管服务、开终端、配网络,浏览器里都能搞定。

装好之后试试用它重启一次 nginx 服务?你会发现图形界面其实也没那么难用。

这篇文章对你有帮助吗?