
从零开始搭建青龙面板腾讯云服务器宝塔面板Docker全流程指南在自动化运维和脚本管理的世界里青龙面板正成为越来越多开发者的效率利器。这个基于Docker的轻量级工具不仅能帮你定时运行各类脚本还能集中管理任务日志特别适合需要批量处理数据的场景。本文将带你从服务器选购开始一步步完成整个部署过程。我最初接触青龙面板是为了解决电商业务中的自动签到和库存同步需求。经过多次实践发现这套组合方案不仅稳定可靠还能灵活扩展其他服务。下面就把这套经过验证的部署方案完整分享给大家。1. 服务器选购与基础配置1.1 腾讯云服务器选择对于个人开发者和小型项目腾讯云的轻量应用服务器是最具性价比的选择。新用户首年价格通常在40-100元之间配置建议配置项推荐参数说明CPU2核足够运行青龙面板及常用服务内存2GB/4GB4GB可支持更多容器同时运行系统盘50GB SSD确保有足够空间存放日志带宽3-5Mbps日常管理完全够用地域靠近用户群体的区域降低网络延迟提示购买时注意选择纯净版系统镜像避免预装软件造成冲突。推荐Ubuntu 20.04 LTS或CentOS 7.9这两个版本对Docker支持最为完善。1.2 系统初始化设置购买完成后立即进行以下安全加固操作重置root密码在控制台选择重置密码设置12位以上包含大小写字母、数字和特殊字符的强密码配置安全组暂时只开放SSH默认的22端口其他端口待需要时再开启SSH密钥对可选但推荐生成并下载密钥对禁用密码登录提升安全性# 本地终端测试连接替换your_ip为服务器公网IP ssh rootyour_ip连接成功后先更新系统组件apt update apt upgrade -y # Ubuntu # 或 yum update -y yum upgrade -y # CentOS2. 宝塔面板安装与优化2.1 一键安装宝塔宝塔面板能极大简化服务器管理特别是对不熟悉命令行操作的用户。根据系统选择对应安装命令# Ubuntu/Debian wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh bash install.sh # CentOS yum install -y wget wget -O install.sh http://download.bt.cn/install/install_6.0.sh bash install.sh安装过程大约需要5-10分钟完成后会显示面板访问地址和初始账号密码。务必立即保存这些信息。2.2 安全加固配置首次登录宝塔面板后按顺序完成修改面板端口在面板设置中更改为非默认的8888端口如54321设置安全入口添加/panel这样的随机路径绑定宝塔账号注册并绑定官方账号以便后续插件安装安装必要组件在软件商店一键安装Nginx、MySQL和PHP虽然青龙面板不需要这些但为后续扩展考虑注意完成上述设置后新的访问地址将变为http://服务器IP:新端口/安全入口2.3 防火墙配置在宝塔的安全页面开放以下端口面板访问端口如54321SSH端口保持22或自定义预留5700给青龙面板3. Docker环境部署3.1 安装Docker引擎宝塔提供了图形化安装方式但手动安装能获得更新版本# 卸载旧版本如有 sudo apt-get remove docker docker-engine docker.io containerd runc # 设置仓库 sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release # 添加Docker官方GPG密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 设置稳定版仓库 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin验证安装docker --version docker run hello-world3.2 配置Docker加速国内服务器建议配置镜像加速器sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://registry.cn-hangzhou.aliyuncs.com] } EOF sudo systemctl daemon-reload sudo systemctl restart docker4. 青龙面板部署与配置4.1 容器化部署使用以下命令创建青龙容器docker run -dit \ -v $PWD/ql/config:/ql/config \ -v $PWD/ql/log:/ql/log \ -v $PWD/ql/db:/ql/db \ -v $PWD/ql/repo:/ql/repo \ -v $PWD/ql/raw:/ql/raw \ -v $PWD/ql/scripts:/ql/scripts \ -v $PWD/ql/jbot:/ql/jbot \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ --restart unless-stopped \ whyour/qinglong:latest参数说明-v将容器内目录挂载到宿主机确保数据持久化-p映射容器5700端口到主机--restart设置容器随Docker自动启动whyour/qinglong:latest使用官方最新镜像4.2 初始化设置访问面板http://服务器IP:5700首次登录使用默认账号admin/admin立即修改管理员密码在系统设置中配置时区Asia/Shanghai通知方式推荐Telegram机器人日志保留天数4.3 常用依赖安装青龙面板运行脚本可能需要额外依赖通过SSH执行# 进入容器 docker exec -it qinglong bash # 安装常用依赖 apt update apt install -y python3 python3-pip \ nodejs npm \ git \ wget curl5. 进阶配置与优化5.1 反向代理配置通过Nginx实现HTTPS访问更安全在宝塔面板创建新网站域名指向服务器IP在SSL选项卡申请Lets Encrypt免费证书配置反向代理location / { proxy_pass http://127.0.0.1:5700; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }5.2 定期备份策略设置每日自动备份配置和脚本# 创建备份脚本 cat /root/ql_backup.sh EOF #!/bin/bash tar -czf /root/ql_backup_$(date %Y%m%d).tar.gz /ql EOF # 添加执行权限 chmod x /root/ql_backup.sh # 设置每天3点自动备份 (crontab -l 2/dev/null; echo 0 3 * * * /root/ql_backup.sh) | crontab -5.3 资源监控安装Portainer可视化监控Docker资源docker volume create portainer_data docker run -d -p 8000:8000 -p 9000:9000 \ --nameportainer --restartalways \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce访问http://服务器IP:9000即可查看容器状态和资源占用。6. 常见问题排查6.1 端口冲突处理如果5700端口被占用可以修改容器映射端口docker run -p 5800:5700 ... # 其他参数不变查询占用进程netstat -tulnp | grep 57006.2 容器启动失败检查日志定位问题docker logs qinglong常见问题包括目录权限不足chmod -R 777 /ql端口冲突修改映射端口镜像拉取失败配置正确的镜像加速器6.3 脚本执行异常在容器内安装缺失的依赖docker exec -it qinglong bash pip install requests bs4 pytz npm install axios cheerio7. 安全最佳实践定期更新docker pull whyour/qinglong:latest docker stop qinglong docker rm qinglong # 重新运行创建命令访问控制限制面板访问IP启用双因素认证日志审计# 查看最近登录 cat /ql/log/auth.log | grep login资源限制docker update --memory 1G --memory-swap -1 qinglong这套部署方案已经在多个生产环境稳定运行超过一年。记得第一次成功部署后我设置了十几个定时任务自动处理日常事务效率提升非常明显。如果遇到任何问题查看容器日志通常能快速定位原因。