ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

1Panel + 阿里云 ECS 部署完整指南:从零到 SSL 与自动备份

1Panel + 阿里云 ECS 部署完整指南:从零到 SSL 与自动备份 1Panel 这东西我盯了很久。早些年折腾服务器要么命令行硬刚要么用宝塔面板凑合但宝塔那广告和绑定的感觉越来越重。直到前段时间在一台阿里云 ECS 上正式把 1Panel 部署起来用了几个月确实有耳目一新的感觉。这篇文章不聊虚的就把我在阿里云上从买机器、配安全组、装 Docker、跑一键脚本、配 SSL 到日常备份的完整流程和踩过的坑一次性说清楚给想上车的朋友一个可以照着抄的作业。1. 为什么是 1Panel 阿里云这个组合先说结论1Panel 是目前开源服务器运维面板里现代化程度和安全感最平衡的一个选择阿里云则是国内服务器里文档最全、生态最完善的平台之一。这俩搭配起来踩坑率极低。1.1 1Panel 到底改变了什么第一次用 1Panel 的感觉就像从命令行 FTP 切到了可视化文件管理器。它核心做的事情就是把 Linux 服务器上那些日常操作——建站、反代、数据库管理、定时备份、SSL 证书——全部封装进一个现代化 Web 界面里。和宝塔相比1Panel 有几个让我果断切换的点容器化优先1Panel 从骨子里就长在 Docker 上应用商店里的 Nginx、MySQL、Redis 全是容器化安装隔离性好不会像宝塔那样在系统里撒一堆相互纠缠的文件卸载不干净。界面清爽无广告用宝塔最烦的就是后台时不时弹推广1Panel 的界面干净利落线条和配色都有种现代 SaaS 产品的精致感长时间盯着也不累。数据安全设计它支持一键备份、整机快照计划数据目录结构清晰迁移起来非常规整。开源且有社区Gitee 上星数不少issue 响应活跃遇到问题真实能搜到解决方案。1.2 阿里云作为底座的优势阿里云对 1Panel 的部署有几个利好镜像源国内速度快Docker 官方源在国内经常抽风阿里云提供的镜像加速器是救命稻草1Panel 一键脚本自身也做了源适配安装体验比海外服务器舒坦。安全组规则可视化阿里云控制台的安全组配置一目了然对新手很友好遇到端口不通的问题排查链路清晰。周边服务齐备域名备案、免费 SSL 证书、云监控、自动快照每一项都能和 1Panel 无缝衔接。注意如果你是重度依赖 Windows 远程桌面或者主机虚拟化的用户1Panel 在 Windows 11 上装不了原生版但可以通过 WSL 2 或者虚拟机里跑 Linux 来托管。如果你只是想在本机体验 1Panel那就装个 VMware Ubuntu再在上面部署效果等同服务器。2. 部署前的准备买好机器、放通端口很多人的部署失败不是 1Panel 的问题而是服务器基础没打好。这一步走稳后面顺风顺水。2.1 阿里云 ECS 选型与系统镜像1Panel 官方要求最低 1核1G但我强烈建议2核4G 起步因为你要跑 Docker意味着 Nginx、MySQL、Redis 等容器叠在一起内存很容易吃紧。实测 2核4G 跑一个中小网站 数据库 备份任务稳定流畅。系统镜像选择上我推荐Ubuntu 22.04 LTS或者Debian 12。1Panel 官方对 Ubuntu 的支持最稳安装脚本跑起来基本不会遇到 systemd 相关的兼容问题。CentOS 不是不行但 Docker 在新内核和 systemd 上的维护成本高新装机器没必要去趟那个浑水。如果要用 Rocky Linux请确保版本在 9 以上。注意1Panel 安装时不建议使用已装宝塔等其他面板的服务器。如果必须复用机器先用宝塔自带的卸载脚本彻底清除再装 1Panel。混合面板的宿主机日后维护会让你头疼到怀疑人生。2.2 安全组规则先放 80/443 和 SSH阿里云 ECS 每次新购机器安全组默认只放行 22 端口其他一律不通。这一步最容易坑人——你欢天喜地跑到浏览器里输 IP 地址结果界面一直转圈就是因为 80 或 443 端口没放行。需要提前放行的端口建议如下端口用途建议22SSH 远程登录默认必须80HTTP 访问Let’s Encrypt 验证必须放行443HTTPS 访问必须放行任意高位端口1Panel 面板自身端口只对可信 IP 放行1Panel 安装完成会随机生成一个端口比如 29876 或者 33271你需要在安全组中放行这个端口否则无法打开管理页面。为了安全这个端口不要设为 80/443 这种常规端口最好高位随机并且只对自己的固定公网 IP 放行而不是 0.0.0.0/0 全放。关于域名如果要用 HTTPS请提前把域名解析A 记录到服务器公网 IP。国内服务器要求域名必须完成 ICP 备案否则 80 端口会直接被拦截页面无法访问。这是个硬门槛急不来。2.3 SSH 连接与密钥登录我习惯用密钥登录而不是密码。在阿里云控制台创建 ECS 时可以直接选择“密钥对”方式也可以先用密码登录再手动配置 authorized_keys。推荐顺序本地执行ssh-keygen -t ed25519 -C your_email生成密钥对。将公钥内容追加到服务器的~/.ssh/authorized_keys。修改/etc/ssh/sshd_config中PasswordAuthentication no然后重启 sshd 服务。这样部署之后面板登录和 SSH 都走了密钥或随机端口暴力破解风险大幅下降。阿里云后台的云监控日志里你会看到无数来自外部的扫描尝试密钥登录能挡掉绝大多数。3. 正式部署从 Docker 到 1Panel准备工作做好后部署本身其实很快。整个过程我会分成三步来说明每一步都会给出当时实测的命令和细节。3.1 第一步安装并配置 Docker1Panel 虽然支持直接安装在宿主机但强烈推荐配合 Docker 使用。先确保 Docker 就位# 更新软件源并安装依赖 sudo apt update sudo apt install -y curl wget git # 安装 Docker 官方脚本 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # 将当前用户加入 docker 组避免每次 sudo sudo usermod -aG docker $USER newgrp docker--mirror Aliyun参数很关键它会自动把下载源切到阿里云否则国内网络下载 Docker 引擎会非常磨人。然后配置 Docker 镜像加速器。阿里云容器镜像服务的加速器地址是每个人独立的登录阿里云控制台搜索“容器镜像服务 ACR”在镜像加速器页面能看到专属地址。sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://你的专属加速器地址.mirror.aliyuncs.com] } EOF sudo systemctl daemon-reload sudo systemctl restart docker配置好镜像加速后拉取镜像的速度基本能从几十 KB/s 提升到几十 MB/s实测下来这个动作能避免之后 80% 的网络问题。注意一定要先配置好 daemon.json 再安 1Panel否则 1Panel 的应用商店拉镜像会卡在超时边缘反复重试非常影响首次体验。3.2 第二步执行 1Panel 一键安装脚本Docker 就绪后进入 1Panel 官网找最新安装命令或者直接用下面这条curl -sSL https://resource.1panel.cn/quick_start.sh | bash脚本会自动检测系统、安装依赖、拉取 1Panel 镜像然后启动容器。整个过程大概 3~5 分钟取决于机器规格和网络。安装完成后终端会输出类似这样的信息 1Panel 已安装成功! 面板地址: https://公网IP:32001/ 面板端口: 32001 入口用户名: admin 入口密码: 随机生成的一串字符 安全入口: 随机生成的串 一定要立刻抄下终端里给的面板地址、用户名、密码和安全入口。安全入口是一串随机字符串相当于访问面板的第二道门后面每次登录都需要加上比如https://IP:32001/安全入口。这个设计很实用等于默认帮你加固了一道。3.3 第三步初始化面板与系统设置在浏览器里打开面板地址输入初始账号密码。登录后1Panel 会引导你修改管理员密码、绑定邮箱用于找回密码等。完成这些基本环境就算搭好了。首次进入面板我建议先到面板设置里做三件事修改面板端口如果刚才的端口不合意可以改成一个其他高位端口改完记得同步更新阿里云安全组。绑定域名访问面板如果条件允许把面板挂在子域名如panel.yourdomain.com上并用 Nginx 反代加 SSL。开启两步验证在安全设置里打开 OTPTOTP 双因素认证用手机上的 Google Authenticator 或 1Password 绑定。这一步对公网面板极其重要很多人忽略结果被爆破了好几天。3.4 任务管理用 systemd 托管 1Panel 容器1Panel 官方推荐使用systemctl管理它自己的服务systemctl status 1panel # 查看运行状态 systemctl restart 1panel # 重启面板重启服务器后1Panel 会随 Docker 自启通常不需要手动干预。如果你的机器开启了防火墙ufw 或 firewalld记得放行面板端口sudo ufw allow 32001/tcp # 以实际面板端口为准4. 部署后的核心配置应用商店、网站与 SSL面板跑起来只是第一步接下来怎么用才是关键。4.1 通过应用商店安装 Nginx MySQL Redis1Panel 的应用商店是它的灵魂。在商店里找到“常用应用”一键部署 Nginx、MySQL、Redis。安装时会让你填端口、设置 root 密码等建议Nginx使用默认配置即可面板会自动处理容器映射。MySQL端口不要用默认 3306改成高位端口降低扫描风险。密码务必设置强密码并开启本地备份。Redis同样修改端口并且启用requirepass否则会有很多脚本扫描公网 Redis 试图写定时任务挖矿。我刚部署完第一次就是没改 Redis 端口第二天就发现 CPU 异常飙升日志里全是外网暴力碰撞。自那以后所有数据库类应用一律改端口 强密码 限制来源 IP。4.2 创建网站与反向代理在 1Panel 里创建网站可以选择静态站点、反向代理或 WordPress 这类 CMS。直接选择“反向代理”填入你要代理的容器地址如http://127.0.0.1:8000面板会自动生成 Nginx 配置文件。如果你是部署 API 服务或前后端分离项目1Panel 的“网站-反向代理”模块非常好用不用自己写 Nginx 配置直接通过界面填源站地址保存即生效。4.3 申请和续期 SSL 证书1Panel 内置了 ACME 客户端支持 Let’s Encrypt 和 ZeroSSL申请证书只需要三步在“证书管理”中创建证书配置填入域名。选择验证方式HTTP 或 DNS。敢用通配符证书就用 DNS 验证1Panel 会自动调用阿里云 DNS API 完成解析验证。提交后等待十几秒证书签发完成。续期也全自动内置的定时任务会在证书到期前自动续期。我跑了一个域名快半年没手动碰过一次证书省心程度超出预期。如果你用的是阿里云提供的免费证书现在的免费证书有效期缩短到 3 个月可以直接在证书管理里上传密钥和证书内容1Panel 一样支持托管和自动续期。多域名、通配符证书我用 1Panel 的 ACME 方案居多反而更省事。注意申请证书前域名解析必须生效。如果是刚解析的域名可以先在本地ping一下确认 IP 正确再去申请证书否则 ACME 验证会失败。5. 常见问题与排错实战这段是我最想写的。这段时间累计在阿里云 ECS 上部署过多台实例下面这些问题我基本都亲手踩过按出现频率排序。5.1 外部访问不了面板浏览器一直打转排查路径非常固定确认面板进程在跑systemctl status 1panel如果显示 active(running)说明面板本身没问题。确认本机端口监听ss -tlnp | grep 面板端口如果没有输出说明面板没监听在该端口或者端口被改。确认阿里云安全组放行这是最坑的一层。安全组规则分“入方向”和“出方向”入方向要手动添加“自定义 TCP端口填面板端口源 0.0.0.0/0 或你的 IP”。确认系统防火墙Ubuntu 默认 ufw 可能没启动但如果启用了用sudo ufw status检查。按这个顺序基本十分钟内能定位问题。我遇到 90% 的情况都卡在安全组没放行。5.2 安装脚本执行到一半失败常见原因是 Docker 安装后 daemon.json 没生效或者拉镜像超时。我的建议是回到 3.1 节把 Docker 装稳再跑安装脚本。如果已经走到一半失败建议清掉重来systemctl stop 1panel docker rm -f 1panel rm -rf /opt/1panel然后重新执行安装脚本。不要试图在原半成品上修补干净重装反而最快。5.3 容器突然全部挂掉应用商店打不开多半是磁盘满了。排查命令df -h如果/或 Docker 根目录使用率超过 90%腾空间。常用命令docker system prune -a # 清理悬空镜像 docker image prune -a # 清理所有未使用的镜像 journalctl --vacuum-time3d # 清理 systemd 日志另外阿里云控制台有“云监控”可以设置磁盘使用率报警建议在 80% 时就让短信伺候别等到满了才发现。5.4 重置面板密码忘了面板密码别慌。1Panel 论坛里能找到官方重置脚本简单说就是登录服务器后执行1pctl update password根据提示输入新密码。这个命令在终端里执行会提示你输入新密码并确认。重置后记得重新登录并把旧的自动登录 token 清掉。5.5 应用商店安装应用时一直卡在“拉取镜像”这个我前面提过主要就是 Docker 镜像加速没配好。另一个少见原因是安装应用时默认拉取最新标签latest某些环境下可能因为代理冲突失败。可以去 Docker 全局配置里将 registry-mirrors 换回官方或另一家加速源重启 Docker 再试。5.6 大量扫描攻击日志阿里云后台安全中心可能提醒你公网 IP 被国外 IP 频繁扫描。这个在云服务器上太常见了。我的加固措施如下将 SSH 端口改为未知名高位端口比如 56422并只允许指定公网 IP 访问。1Panel 面板开启防火墙功能非必要端口一律封禁。在阿里云安全组层面仅放行真实需要的端口其他全部拒绝。监控里发现有异常流量先在安全组里封掉来源 IP 段再登录服务器排查。6. 备份策略与内容扩充6.1 用快照给服务器兜底阿里云控制台的“云服务器-快照”服务是很多新手最容易忽略的救命工具。在 1Panel 里再怎么优化都不如云平台层面的快照来得踏实。建议在控制台为系统盘和数据盘各创建一份自动快照策略每天凌晨执行保留近 7 天。费用很低但灾难恢复时价值极高。我自己就经历过误删整个目录的情况靠一份 6 小时前的快照完整恢复那种劫后余生的感觉没法形容。6.2 1Panel 自带的备份任务1Panel 本身提供“计划任务”可以配置备份网站目录备份数据库MySQL/Redis同步到云存储OSS/腾讯 COS把备份目录挂载到阿里云 OSS 是最省心的方案。在 OSS 控制台创建 Bucket 后1Panel 的存储管理里填入 AccessKey 和 Bucket 信息然后建一个每天凌晨 3 点执行的备份任务把 Web 目录和数据库都推送上去保留最近 15 份。这个配置一次就能长期生效。提示阿里云 OSS 的临时 URL 在跨账号访问时容易失效如果要在本地下载备份优先使用 OSS 客户端工具或者控制台直接下载到本机不要依赖浏览器里的临时链接。6.3 结合 Docker 做应用级备份1Panel 的每个应用容器数据一般都挂载在/opt/1panel/apps/应用名/...目录。如果你要用脚本做更细粒度的备份只需要对/opt/1panel/apps整个目录做 tar 压缩和解压即可比备份整个磁盘文件更轻巧。tar -czvf 1panel_apps_backup.tar.gz /opt/1panel/apps恢复时解压回原路径再docker ps -a找到对应容器启停即可。这个方法迁移服务器特别好用新机器上装好 Docker 和 1Panel 后直接把备份包解压回去应用原地复活。7. 最后的实用心得实测下来1Panel 阿里云这套组合从安装到日常运维都相当顺畅。如果非要给后来者几个建议第一不要在低配机器上硬撑。1Panel 和 Docker 生态的本质是容器隔离内存小会频繁触发 OOM跑着跑着某容器突然没了排查起来反而费时。2核4G 是起步如果后续要跑大模型或数据分析类应用4核8G 更从容。第二把所有非默认端口记在一个密码管理器里。面板端口、MySQL 端口、Redis 端口、SSH 端口……别看这个不起眼等半年后要维护时不翻笔记你就知道记下来有多重要。第三不要迷信“一劳永逸”。1Panel 每月都有新版本更新前先看更新日志并且在测试环境验证再对生产环境动刀。别看完官网 banner 就去点“立即更新”翻车了再回滚很费心力。第四关于账号安全第一时间开启两步验证并把面板登录入口从默认路径改掉。这是个习惯不只是某台服务器的事。我自己的服务器群现在就跑在 1Panel 上包括网站的 Nginx 反向代理、数据库、定时备份甚至连 Markdown 博客的自动构建都挂在了这个面板的定时任务里。从一个凡事命令行的新手到如今能熟练玩转容器化运维这中间 1Panel 帮了大忙。它也并非万能监控和告警深度比 Prometheus 那套专业方案差不少但对于中小项目和个人站而言它带来的效率提升和安全感已经足以让人安心把自己核心资产托付在上面了。如果你正在阿里云上折腾各种基础服务不妨给它一个机会先在测试机上跑一遍。这套流程顺下来你会回来感谢那个认真看安全组规则排错两小时的自己。
返回列表