当我第一次用1Panel管理服务器时,整个运维工作流都被颠覆了
你是否也曾被复杂的Linux命令困扰?是否厌倦了在终端里反复敲击那些记不住的指令?当服务器出现紧急故障时,是否手足无措不知从何查起?
今天我要分享的,是一个彻底改变我服务器运维方式的开源项目——1Panel。它不是另一个平庸的服务器管理面板,而是一套经过精心设计的现代运维解决方案。在深入体验了三个月后,我决定将所有实战经验整理成这篇完整教程。
为什么这个项目值得关注
痛点催生创新
传统的Linux服务器管理面临三重困境。首先,命令行界面对新手极其不友好——一个简单的网站部署可能需要敲入几十条命令,每条命令的参数组合更是让人头疼。其次,多个服务的管理分散在不同配置文件和目录中,日志查看、状态监控都需要在各个位置来回切换。第三,安全性配置、系统更新、备份恢复等运维必备操作,缺乏统一的可视化入口。
我曾见过太多新手运维因为一个误操作导致整个服务崩溃,也见过经验丰富的工程师在深夜排查问题时手忙脚乱地切换终端窗口。这些场景促使我不断寻找更优雅的解决方案。
1Panel的核心理念
1Panel的开发团队提出了”现代化、可视化、自动化”三个核心原则。现代化体现在技术栈选择上——前端使用Vue3配合TypeScript,后端采用Go语言,这样的架构既保证了性能,又便于社区贡献和维护。可视化意味着用直观的图形界面替代大部分命令行操作,让复杂操作变得触手可及。自动化则是将常见的运维场景封装为一键执行的任务,大幅降低重复劳动。
功能全景图
这个项目绝非简单的SSH工具替代品。它集成了网站管理、数据库管理、Docker容器编排、系统监控、安全防火墙、文件管理、计划任务等核心模块。更重要的是,这些功能并非简单堆砌,而是经过统一设计,模块之间可以协同工作。比如创建网站时可以一键关联数据库、自动配置SSL证书、自动设置反向代理,整个流程行云流水。
社区生态
作为Star数超过20K的项目,1Panel拥有活跃的社区和丰富的应用市场。官方维护的应用商店收录了上百款常用软件,从Nginx、Apache到MySQL、PostgreSQL,从Redis到MongoDB,从WordPress到Node.js应用模板,覆盖了绝大多数Web服务的常用场景。用户也可以贡献自己的应用配置文件,形成良性循环。
环境搭建:从零开始部署1Panel
硬件与系统要求
在开始之前,先确认你的服务器满足以下条件。CPU架构支持x86_64或arm64,内存建议至少2GB(运行多个服务建议4GB以上),磁盘空间根据需要安装的应用而定,建议至少20GB剩余空间。操作系统方面,1Panel官方支持Ubuntu、Debian、CentOS、Rocky Linux、AlmaLinux、OpenCloudOS等主流发行版。
以下是我的测试环境配置:
操作系统: Ubuntu 22.04 LTS
CPU: 2 cores
内存: 4 GB
磁盘: 50 GB SSD
快速安装
1Panel提供了极为简洁的安装脚本,整个过程全自动完成。SSH登录到你的服务器后,执行以下命令:
# 首先切换到root用户或使用sudo
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
这个脚本会执行以下步骤:首先检测系统环境并安装必要的依赖;然后下载1Panel的二进制文件和前端资源;接着配置systemd服务实现开机自启;最后输出登录信息。
安装完成后,终端会显示类似如下的信息:
[SUCCESS] 1Panel 安装成功!
请使用以下信息登录面板:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
面板端口: 12345
入口地址: http://你的服务器IP:12345
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
用户名: 1panel
密码: xxxxxxxxxxxxxxxx
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
安全加固第一步
拿到登录信息后,首要任务是修改默认密码和面板端口。登录后进入”系统设置”→”安全”栏目,建议进行以下配置:开启HTTPS(使用Let’s Encrypt免费证书);修改默认端口(避免被恶意扫描);设置登录IP白名单;配置登录失败锁定策略。
# 推荐的安全配置策略
登录失败次数: 5次
锁定时间: 30分钟
启用两因素认证: 开启(可选)
会话超时: 24小时
反向代理配置(可选)
如果需要通过域名访问面板,并隐藏非标准端口,可以在Nginx或Caddy中添加反向代理配置:
# Nginx反向代理配置示例
server {
listen 80;
server_name panel.yourdomain.com;
# 自动重定向到HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name panel.yourdomain.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
client_max_body_size 1024m;
location / {
proxy_pass http://127.0.0.1:12345;
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;
# WebSocket支持(用于终端功能)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}
核心功能详解
一、网站管理:全流程可视化
创建网站的三种方式
1Panel支持三种网站的创建方式,适应不同的使用场景。
静态网站适合纯前端项目、文档站点等无需后端的应用。点击”网站”→”创建网站”→”静态站点”,填写域名和网站目录即可。如果使用本地存储,1Panel会在/var/www/下自动创建目录结构。
目录结构示例
/var/www/
├── my-static-site/
│ ├── index.html
│ ├── css/
│ ├── js/
│ └── assets/
PHP站点支持主流的PHP版本(7.4-8.2),内置了针对WordPress、Typecho、Discuz等知名程序的预设配置。创建时会自动优化PHP-FPM参数,包括上传大小限制、内存限制、时区设置等。
# PHP配置文件路径(在1Panel中通过界面修改)
/opt/1panel/php/版本号/etc/php.ini
/opt/1panel/php/版本号/etc/php-fpm.conf
Node.js站点支持PM2进程管理,可以直接部署Express、NestJS、Hono等框架应用。需要指定应用入口文件和运行目录,1Panel会自动配置PM2集群和日志轮转。
反向代理配置
反向代理是现代Web架构的核心组件。1Panel提供了图形化的反向代理配置界面。假设你需要将api.example.com代理到后端的3000端口:
# 在1Panel中配置的参数
目标服务器: 127.0.0.1:3000
访问协议: http
代理名称: api-backend
高级配置:
- X-Real-IP: 开启
- X-Forwarded-For: 开启
- WebSocket: 开启(根据需要)
生成的Nginx配置如下:
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
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;
}
}
SSL证书管理
1Panel集成了Let’s Encrypt证书申请功能,支持单域名、泛域名、多域名证书。申请泛域名证书前需要先配置DNS验证:
# DNS验证配置步骤
1. 在DNS服务商处添加TXT记录
记录类型: TXT
主机记录: _acme-challenge
记录值: 1Panel生成的验证字符串
2. 等待DNS生效(通常5-30分钟)
3. 点击验证并申请证书
# 支持的DNS服务商
阿里云DNS / 腾讯云DNSPod / Cloudflare / 华为云DNS
Route53 / GoDaddy / namesilo / ...(支持API自动配置)
证书到期前,1Panel会自动发送提醒通知,也支持配置自动续期任务。
二、数据库管理:一键部署与可视化操作
数据库集群
1Panel支持MySQL、PostgreSQL、MongoDB、Redis四大主流数据库。每个数据库都通过Docker容器隔离运行,版本升级和数据迁移都极为方便。
创建MySQL数据库的步骤:
1. 进入"数据库"→"创建数据库"
2. 选择数据库类型: MySQL 8.0
3. 配置参数:
- 容器名称: mysql-prod
- 端口: 3306(可自定义映射)
- Root密码: 使用强密码生成器
- 数据持久化路径: /opt/1panel/db/mysql-prod
4. 性能优化配置:
- 内存配置: 1GB
- 最大连接数: 200
- InnoDB缓冲池: 256MB
WebSQL管理工具
1Panel内置了phpMyAdmin和Adminer作为数据库Web管理界面。点击数据库列表中的”管理”按钮即可直接进入。不过我更推荐安装外部的phpMyAdmin(通过应用商店),因为内置版本功能相对简化。
-- 示例:创建一个完整的WordPress数据库
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'%';
FLUSH PRIVILEGES;
-- 常用维护命令(可在1Panel数据库终端执行)
SHOW VARIABLES LIKE 'max_connections';
SHOW PROCESSLIST;
OPTIMIZE TABLE wp_posts;
ANALYZE TABLE wp_options;
Redis缓存管理
Redis的配置需要注意持久化策略选择。对于生产环境,建议同时开启RDB和AOF:
# Redis配置建议
maxmemory: 512mb
maxmemory-policy: allkeys-lru
appendonly: yes
appendfsync: everysec
save: "900 1 300 10 60 10000"
三、Docker容器管理:图形化的容器编排
容器部署
1Panel的Docker管理界面将复杂的容器操作变得直观。你可以通过三种方式部署容器:从镜像市场选择(推荐新手)、从Docker Hub拉取指定镜像、通过Dockerfile构建自定义镜像。
以部署一个最简单的Nginx容器为例:
# 图形界面配置
镜像: nginx:latest
容器名称: web-nginx
端口映射:
宿主机端口 8080 -> 容器端口 80
卷挂载:
/opt/1panel/docker/nginx/html:/usr/share/nginx/html
环境变量:
NGINX_HOST: localhost
NGINX_PORT: 80
重启策略: always
部署完成后,终端会显示容器的运行状态、日志输出、资源占用等信息。
Docker Compose编排
对于复杂的多容器应用,1Panel支持Docker Compose模板管理。你可以直接粘贴compose文件,或者使用应用商店中预置的模板。
# docker-compose.yml 示例:部署一个WordPress完整环境
version: '3.8'
services:
db:
image: mysql:8.0
container_name: wp-mysql
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wp_user
MYSQL_PASSWORD: ${WP_DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${WP_ROOT_PASSWORD}
volumes:
- wp-db-data:/var/lib/mysql
networks:
- wp-network
wordpress:
image: wordpress:latest
container_name: wp-wordpress
restart: always
depends_on:
- db
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: ${WP_DB_PASSWORD}
WORDPRESS_DB_NAME: wordpress
volumes:
- wp-html:/var/www/html
networks:
- wp-network
volumes:
wp-db-data:
wp-html:
networks:
wp-network:
driver: bridge
在1Panel中导入这个compose文件后,点击”部署”即可一键启动整个WordPress环境。
四、系统监控:全方位状态可视化
实时监控面板
1Panel的监控模块提供了服务器状态的实时概览,包括CPU使用率(分核心)、内存和Swap使用、磁盘IO、网络流量、进程列表等核心指标。数据默认保留7天,支持导出历史数据用于分析。
# 监控数据刷新间隔
实时: 3秒
常规: 10秒
# 支持的告警规则
- CPU持续5分钟超过90%
- 内存使用率超过85%
- 磁盘空间低于10%
- 系统负载超过CPU核心数的2倍
- 网络流量异常(可选基准线)
应用监控
除了系统级监控,1Panel还支持对具体应用的服务监控。例如Nginx的连接状态、MySQL的查询QPS、Redis的内存使用等。这些指标可以帮助你更精准地进行性能调优。
# 查看Nginx状态(需要开启stub_status)
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
实战教程:从零部署一个完整的博客系统
现在让我们通过一个完整的实战案例,将前面介绍的功能串联起来。我将演示如何使用1Panel部署一个基于WordPress的博客系统,包括Nginx反向代理、HTTPS配置、定期备份等完整流程。
第一步:准备域名和DNS
假设你的域名是blog.example.com,首先需要在DNS服务商处添加A记录指向你的服务器IP。如果计划使用Let’s Encrypt泛域名证书,还需要添加一条TXT记录用于验证。
# DNS记录配置
A记录: blog.example.com -> 服务器IP
TXT记录: _acme-challenge.example.com -> 验证字符串(稍后从1Panel获取)
第二步:创建Docker Compose环境
进入1Panel的”应用商店”,找到WordPress模板,或者使用自定义compose。我推荐使用自定义compose以便更灵活地控制配置:
# /opt/1panel/docker/wordpress/docker-compose.yml
version: '3.8'
services:
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: RootPass2024!
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: WpPass2024!
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- wpnet
wordpress:
image: wordpress:php8.2-fpm-alpine
restart: always
depends_on:
- db
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: WpPass2024!
WORDPRESS_DB_NAME: wordpress
volumes:
- ./data/html:/var/www/html
networks:
- wpnet
networks:
wpnet:
driver: bridge
在1Panel的”容器”→”编排”→”创建”中粘贴上述配置,点击确认后等待容器启动完成。
第三步:配置Nginx反向代理
进入”网站”→”创建网站”→”反向代理”,配置如下:
主域名: blog.example.com
代理名称: wordpress-blog
目标服务器: 127.0.0.1
端口: 8080(与compose中的端口映射一致)
创建代理后,1Panel会自动生成Nginx配置文件。如果需要同一端口部署多个应用,可以在compose中将wordpress的端口映射为非标准端口(如8081),然后创建对应的反向代理。
第四步:申请SSL证书
在网站列表中找到刚创建的网站,点击”SSL”→”申请证书”:
申请类型: Let's Encrypt
证书范围: 单域名
域名列表: blog.example.com
验证方式: HTTP验证(需要80端口未被占用)
自动续期: 开启
申请成功后,点击”强制HTTPS”确保所有访问都走加密通道。
第五步:配置自动备份
备份是生产环境不可或缺的一环。1Panel提供了完善的备份功能,支持本地备份和远程备份(FTP/SFTP/S3/阿里云OSS等)。
创建备份任务:
1. 进入"备份"→"创建备份"
2. 备份类型: 定时任务
3. 备份范围:
- /opt/1panel/docker/wordpress/data (数据库数据)
- /opt/1panel/docker/wordpress/docker-compose.yml
4. 备份方式: 压缩包
5. 保留份数: 7
6. 执行周期: 每天凌晨3点
7. 远程存储: 阿里云OSS(可选但推荐)
数据库备份可以单独配置一个更频繁的任务:
备份周期: 每6小时
保留份数: 12
压缩级别: 9(最大压缩)
第六步:系统安全加固
完成部署后,进行必要的安全加固:
# 1. 配置防火墙规则
允许端口: 22(SSH), 80(HTTP), 443(HTTPS)
限制来源IP: 允许所有或指定IP段
# 2. 修改SSH默认端口
# 在1Panel的"主机"→"SSH管理"中修改
# 注意:修改后确保新端口已在防火墙中开放
# 3. 配置fail2ban防暴力破解
# 在1Panel中安装fail2ban应用
# 设置SSH登录失败5次后封禁1小时
# 4. 启用登录通知
# 绑定微信/Telegram接收异常登录提醒
进阶技巧与最佳实践
数据库性能优化
WordPress等应用在高并发场景下容易出现数据库瓶颈。以下是针对MySQL 8.0的优化建议:
-- 通过1Panel数据库终端执行
-- 1. 启用慢查询日志
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
-- 2. 调整InnoDB缓冲池大小(建议为可用内存的70%)
SET GLOBAL innodb_buffer_pool_size = 2147483648; -- 2GB
-- 3. 优化连接配置
SET GLOBAL max_connections = 500;
SET GLOBAL wait_timeout = 600;
SET GLOBAL interactive_timeout = 600;
-- 4. 常用索引优化(WordPress特定)
-- 为wp_postmeta表添加常见查询的索引
ALTER TABLE wp_postmeta ADD INDEX idx_meta_key (meta_key);
ALTER TABLE wp_postmeta ADD INDEX idx_post_id (post_id);
-- 为wp_options表添加autoload优化
ALTER TABLE wp_options ADD INDEX idx_autoload (autoload);
内存优化
如果服务器内存有限,可以通过以下方式降低资源占用:
# 1. 限制PHP-FPM进程数
pm.max_children = 10
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 5
pm.max_requests = 500
# 2. 调整MySQL内存使用
innodb_buffer_pool_size = 256M
max_connections = 50
query_cache_size = 0 -- MySQL 8.0已移除此功能
# 3. 配置Swap空间(如果物理内存不足)
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
日志管理最佳实践
日志是排查问题的关键资源,但无限制增长的日志也会耗尽磁盘空间。1Panel内置了日志轮转功能,但我们可以进一步优化:
# 1. 配置Nginx日志轮转
# 编辑 /etc/logrotate.d/nginx
/usr/local/1panel/nginx/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
[ -f /usr/local/1panel/nginx/logs/nginx.pid ] && kill -USR1 `cat /usr/local/1panel/nginx/logs/nginx.pid`
endscript
}
# 2. MySQL日志优化
# 在1Panel数据库设置中禁用以下日志(按需)
# general_log = OFF
# binary_log = ON(主从复制必需)
# 3. Docker容器日志限制
# 在Docker设置中配置
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
定时任务配置
Cron任务是自动化运维的核心。以下是几个实用的Cron表达式示例:
# 1. 每分钟执行健康检查
*/1 * * * * curl -sf http://localhost/health || systemctl restart your-service
# 2. 每天凌晨清理过期日志
0 3 * * * find /var/log -name "*.log" -mtime +7 -delete
# 3. 每周日凌晨执行数据库优化
0 4 * * 0 docker exec mysql-prod mysqlcheck -o --all-databases
# 4. 每5分钟检查SSL证书到期
*/5 * * * * /opt/1panel/scripts/check_ssl.sh
在1Panel中配置定时任务非常直观。进入”计划任务”→”创建任务”,选择任务类型(Shell脚本、备份、HTTP请求),填写执行周期和具体命令即可。
迁移与恢复
当需要迁移服务器或恢复数据时,1Panel提供了完整的备份恢复机制:
# 完整迁移步骤
# 1. 源服务器:创建完整备份
- 导出所有网站配置文件
- 备份数据库
- 备份Docker Compose文件
- 备份1Panel配置(/opt/1panel/db/1panel.db)
# 2. 传输文件到新服务器
scp -r /backup/user@new-server:/opt/1panel/backup/
# 3. 目标服务器:安装1Panel
curl -sSL https://resource.fit2panel.com/1panel/package/quick_start.sh | bash
# 4. 恢复应用
- 导入网站配置文件
- 导入数据库备份
- 重建Docker容器
# 5. 更新DNS记录指向新IP
常见问题排查
容器启动失败
容器无法启动是最常见的问题之一。排查步骤如下:
# 1. 查看容器日志
docker logs 容器名
# 2. 检查端口占用
netstat -tlnp | grep 端口号
# 3. 检查磁盘空间
df -h
# 4. 检查Docker状态
systemctl status docker
docker info
# 5. 重启Docker服务
systemctl restart docker
数据库连接问题
WordPress等应用频繁遇到数据库连接错误:
# 常见错误及解决方案
错误1: Error establishing a database connection
原因: 数据库未启动或凭据错误
解决:
- 检查容器状态: docker ps | grep mysql
- 重启数据库: docker restart mysql-prod
- 核对wp-config.php中的数据库凭据
错误2: Too many connections
原因: 连接数超过限制
解决:
- 临时增加连接数: SET GLOBAL max_connections = 500;
- 优化应用连接池配置
- 检查是否有连接泄漏
错误3: Access denied for user
原因: 用户权限不足或密码错误
解决:
- 重置密码: ALTER USER 'user'@'%' IDENTIFIED BY 'newpass';
- 授予权限: GRANT ALL PRIVILEGES ON db.* TO 'user'@'%';
性能问题诊断
网站响应缓慢时,按以下顺序排查:
# 1. 检查服务器资源
- CPU使用率是否过高(top命令)
- 内存是否耗尽(free -h)
- 磁盘IO是否成为瓶颈(iostat -x 1 5)
# 2. 分析慢请求
- 开启Nginx日志的请求时间记录
- 查看PHP-FPM慢日志
- 分析MySQL慢查询
# 3. 检查网络延迟
curl -w "DNS: %{time_namelookup}s TCP: %{time_connect}s TTFB: %{time_starttransfer}s Total: %{time_total}s\n" -o /dev/null -s http://example.com
# 4. 检查缓存命中
- Redis命中率: INFO stats | grep keyspace
- 浏览器缓存: 检查响应头Cache-Control
与其他工具的对比
1Panel vs 宝塔面板
宝塔是国内最知名的服务器管理面板之一,与1Panel相比各有优劣:
功能对比表
| 功能 | 宝塔 | 1Panel |
|-------------|-----------|--------------|
| 开源性 | 部分开源 | 完全开源 |
| 技术栈 | Python | Go + Vue3 |
| 界面美观度 | 中等 | 优秀 |
| Docker支持 | 基础 | 完善 |
| 应用市场 | 丰富 | 逐步完善 |
| 社区活跃度 | 很高 | 增长中 |
| 商业插件 | 多 | 无 |
我的使用体验是:宝塔功能更全面,但免费版限制较多;1Panel虽然起步较晚,但开源透明、界面现代、Docker集成更好。对于Docker深度用户,1Panel是更好的选择。
1Panel vs aaPanel
aaPanel是宝塔的国际版,主要区别在界面语言和部分功能差异上。1Panel的独特优势在于对Docker Compose的原生支持和对arm64架构的优化支持。
总结与资源链接
经过这段时间的深度使用,1Panel已经成为我管理服务器的首选工具。它的价值不仅在于降低了运维的技术门槛,更在于将分散的运维操作统一到同一个界面,大幅提升了工作效率。
核心优势回顾
现代技术栈带来优秀的性能和可维护性。完全开源的特性让用户无需担心隐藏后门或数据泄露问题。精心设计的界面让复杂操作变得直观。可视化的Docker管理和一键部署功能显著降低了容器化部署的门槛。完善的备份机制保障了数据安全。
持续学习的建议
# 1. 关注官方文档和更新日志
https://1panel.cn/docs/
# 2. 参与社区讨论
GitHub Issues: https://github.com/1Panel-dev/1Panel/issues
官方论坛: https://bbs.fit2cloud.com/
# 3. 学习相关技术
Docker官方文档: https://docs.docker.com/
Nginx实战指南: https://nginx.org/en/docs/
Let's Encrypt证书: https://letsencrypt.org/docs/
相关AI项目推荐
# 自动化运维领域
Ansible - 自动化配置管理工具
https://github.com/ansible/ansible
# 监控告警
Prometheus + Grafana - 云原生监控方案
https://github.com/prometheus/prometheus
https://github.com/grafana/grafana
# 容器编排
Portainer - Docker可视化管理系统
https://github.com/portainer/portainer
# 日志分析
Loki - Grafana出品的日志聚合系统
https://github.com/grafana/loki
服务器运维的世界正在发生变化。自动化、可视化、智能化是不可逆转的趋势。1Panel代表了一种新的可能性——让复杂的运维工作变得简单而优雅。如果你厌倦了在终端里与命令搏斗,不妨给1Panel一个机会。它可能会像改变我的工作方式一样,改变你对服务器运维的认知。
评论区