概述
每次管服务器都要敲命令?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 用户名和密码登录。
登录后你会看到:
- 概览页 — CPU、内存、磁盘、网络的实时图表
- 终端 — 内置 Web Terminal,可以直接敲命令
- 服务 — 查看和管理 systemd 服务,一键启动/停止/重启
- 网络 — 配置网卡、DNS、防火墙规则
- 存储 — 查看磁盘分区、挂载点、LVM
- 账户 — 添加/删除用户、修改密码、配置 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 服务?你会发现图形界面其实也没那么难用。