未来属于1Panel:宝塔已完成她的历史使命
独立接单开发的这几年里,接触的项目数量保守估计有100+,接手的服务器数量也有50台以上,大部分部署运维工作是借助宝塔面板完成的。
想起以前在大公司上班的日子,什么都要用命令行去操作,加上实际运维工作是有专门同事负责的,所以对宝塔这些面板工具非常陌生。
跟谈恋爱一样,刚接触宝塔面板的心情是很兴奋很激动的,对她充满了好奇,恨不得所有项目都交给她托管。的确,她不会辜负你的期待,她会让你不断发现她的新能力,新的闪光点。
初识宝塔
起源于一次误删了用户上传文件,而没有任何备份的事故之后,我才开始寻找替代手工运维的工具。那时我已离开公司,是帮朋友做的一个小程序项目。丢数据对于初创团队来说,损失不小,因为这些数据是B端客户创建的,市场同学一个个谈出来的。
同时,从公司“偷”出来的祖传LNMP环境一键部署脚本似乎有时候没那么听话。
比如脚本能在腾讯云的标准版服务器正常执行,换了轻量云服务器因为系统权限组的一些差异,导致脚本会出错;又或者脚本仅局限于某一个Linux发行版比如CentOS,安装环境依赖是靠系统的包管理器的,如果换了Ubuntu之类祖传脚本就派不上用场了。
于是邂逅了宝塔。
她提供了各种可选版本的组件,点点鼠标,冲杯咖啡的时间她就帮助你完成一套标准的系统环境搭建。
她提供了数据库备份、文件目录备份、定时备份策略、备份到云存储等一系列完整的工具链。
她提供了免费的SSL证书,一键你的网站加上小绿锁。
她提供了完善的文件管理器,可以远程下载、外链分享、在线解压,让你摆脱使用Xshell rzsz命令传文件的乱码之痛
...
她的优点实在太多了,已对她痴迷,恨不得把自己的全部(服务器)都交给她,每天尝试各种新姿势,探索她的未知领域。
携手同行
她默默守护着很多个创业公司的资产,虽然出风头不是她的本意,但有好几次因为她的力挽狂澜,让我和客户们有惊无险度过难关。
客户有一次误删了一整个章节的多个视频内容,虽然还没正式运营,但人工重新添加回来太痛苦了。幸好我习惯给新服务器和数据库都上了自动备份策略,找到昨天的记录恢复备份,搞定。
还有一个客户的服务器中了勒索病毒,数据库、代码全部文件都被加密了,需要给黑客的支付2万块才能解密。客户慌得一批,但我微微一笑,说数据备份策略我设置了同步到阿里云OSS,从上面下载回来恢复便是了。代码也无需担心,从Git仓库克隆重新构建就行了。客户直呼:果然贵的就是好的!(指我的工资,哈哈哈)
当然,这要求项目维护者有良好的开发习惯,线上代码一定要和Git仓库保持同步。曾经有客户的桌面端开发员工的电脑被入侵,丢失了几个月的代码,就是因为没有及时推送到Git的习惯。
Sorry,扯了太多题外话。
除了备份帮了大忙之后,宝塔生态提供的这些能力也可圈可点:
PHP多版本管理,多项目不同版本共存
轻松配置Nginx反向代理,还预设了很多伪静态规则
基于supervisord的进程守护工具
基于宝塔邮局自建私有邮箱系统
如果没有他,我的全职接单开发生涯,3年时间100多个项目部署50台以上服务器,难以想象我要手动更改多少次supervisord配置文件,我要手动复制粘贴替换多少次nginx配置文件才能完成。她的出现,make life easy。毕竟是人就会出错,手工操作命令行出错概率太大了。但愿世界上少一些不经意间rm -rf
掉重要文件的人吧。
旧情与新欢
完美的伴侣似乎不可能出现,宝塔也一样。
恋爱时,我们很容易被对方的某一优点所吸引,然后无限放大,认定对方就是自己要找的那个人。然而,恋爱可以风花雪月,婚姻却是柴米油盐。浪漫的泡沫终会被现实戳破,在鸡毛蒜皮的琐碎中,对方的缺点也渐渐显露出来。
当你有一天再也忍受不了她的那些小毛病,是时候说再见了。
宝塔面板可能是从一年前的某次版本开始,就经常性出现操作中页面突然变成404,然后重新登录才能恢复。有时候甚至连续登录好几遍还是报错404,陷入死循环让人骂爹骂娘。
我排查了我电脑的缓存、网络问题,换了朋友电脑测试,都不能解决。宝塔代码并不开源,没办法从社区寻求太多帮助。只好不了了之,以至于每次打开宝塔都要做好404重新登陆的心理准备。
另外一个硬伤就是,宝塔侵入性太强,接管了整台服务器。安装宝塔面板之前,他会检测当前环境是否纯净,没有安装过其他占用了LNMP基础资源(比如80端口 3306端口等)的软件。这会导致绑定性太强,老项目不敢轻易更换运维工具。
同时,跟宿主机强绑定就会导致PHP扩展无法做到完美的按版本隔离,比如在安装扩展页面的时候下方有一行提示文字“Redis扩展仅支持一个PHP版本安装使用,若在其它PHP版本已安装redis扩展,请勿再装”。这限制了多PHP版本使用Redis的能力。当然这锅不能算到宝塔头上,PHP拓展强依赖于系统本来就是个问题。
2023年,知名开源堡垒机JumpServer母公司发布了新一代的运维管理面板1Panel。他基于Docker容器架构,完全开源的,后端使用Golang开发。加上知名公司产品的背书,宝塔迎来了迄今为止最强的竞争对手。
笔者在实践了几个项目之后,对1Panel好感倍增。在半年的观察之后,有以下几点值得推荐你去使用:(简直是新出现的白富美)
开源,基于docker容器架构,是云原生时代的基础措施。从根本上解决宝塔面板上述问题!
基于容器化可以构建很多现代化的应用,很潮很高级!
UI操作丝滑,界面美观。不用忍受宝塔卡顿的UI页面
SSL证书自动续期功能正常。对比宝塔的LetsEncrypt自动续期成功率几乎为0
社区活跃,项目维护者热情解答问题
最后
宝塔面板为中国互联网做出浓墨重彩的贡献,是成千上万中小公司的合作伙伴,没有人会忘记了她。但不管怎么样,历史的车轮会一直向前,无法阻挡。笔者在此感叹:宝塔已完成她的历史使命,接下来是1Panel的时代!
利益相关:纯自发分享,没有利益捆绑。真实使用反馈。诸君按需选择。