Azure 国际站 微软云安装宝塔面板
话说那天,我盯着Azure控制台里那台刚建好的Ubuntu 22.04虚拟机,心里默念三遍‘这次一定成功’,然后点开终端,敲下curl -o install.sh http://download.bt.cn/install/install-6.0.sh——结果?
3秒后,屏幕刷出一行红字:“宝塔面板暂不支持该操作系统”。
我揉了揉眼睛,又查了下系统版本:lsb_release -a,没错,是Ubuntu。再翻官网文档,发现他们写的‘支持Linux’,其实暗藏玄机:只认CentOS、Rocky、AlmaLinux、Debian(且仅10/11),Ubuntu?官方列表里压根没它名字。这哪是安装指南,分明是《当代程序员迷惑行为大赏·Azure特供版》。
别急,咱不是来挨骂的,是来解决问题的。下面这份攻略,是我踩过5台Azure VM、重装3次系统、和微软工单扯皮2小时、还顺手帮隔壁组修了台挂掉的生产环境后,熬着黑眼圈写出来的真实可跑流程——不画饼、不甩锅、不提‘理论上可行’,只说你复制粘贴就能亮绿灯的操作。
第一步:选对系统,比选对象还重要
Azure市场镜像里搜‘CentOS’,优先选CentOS Stream 8 或 Rocky Linux 8.8+(推荐!)。别碰CentOS 7——官方已停止维护,宝塔虽能装,但后续yum源失效、SSL证书更新失败、连nginx都可能编译报错。也别图省事选‘Ubuntu Pro’,哪怕它标着‘LTS’,宝塔就是不认,硬装=给服务器办葬礼。
创建时顺手关掉‘加速网络’(除非你真懂SR-IOV),否则某些内核模块加载异常,宝塔初始化脚本直接卡死在‘正在检测环境…’不动。
第二步:登录前必做的三件事
1. 进Azure门户→你的VM→‘网络安全组’→入站规则:放行端口8888(宝塔默认)、80、443、22(SSH),协议选‘TCP’,源地址设为‘*’(测试用,上线前务必收紧);
2. 进VM终端,先升级系统:sudo dnf update -y(Rocky/CentOS Stream)或sudo yum update -y(老CentOS);
3. 关SELinux——这不是建议,是铁律!执行:sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config,然后sudo reboot。别信‘setenforce 0’临时关闭,重启后它会复活,专治宝塔后台打不开。
第三步:安装——就一条命令,但得看清来源
别抄百度搜到的乱码链接!宝塔官网下载地址会变,当前(2024年中)稳定版指令是:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
注意:必须用yum/wget,不能用curl。Azure某些镜像预装的curl版本太老,下载的install.sh文件头损坏,导致后续python解析失败,报错‘SyntaxError: invalid syntax’——这错误让你以为Python坏了,其实是脚本根本没下全。
执行后,你会看到进度条慢悠悠走完,最后弹出类似这样的信息:
==============================
Bt-Panel: http://13.92.XXX.XXX:8888/
Username: xxxxxx
Password: yyyyyy
==============================
记住这串IP!它不是你VM的公网IP,而是Azure自动分配的‘实例元数据IP’(169.254.169.254)?错! 这里显示的就是你VM的公网IP——但前提是:你之前在网络安全组里放行了8888端口。如果打不开,90%概率是你漏了这步,不是宝塔没装好。
第四步:连不上?先别砸键盘,看这四行诊断口诀
- 在VM里执行
sudo netstat -tuln | grep :8888→ 有输出说明服务起来了;没输出?宝塔进程崩了,重装; sudo systemctl status bt→ 看状态是否active (running),若failed,日志在/www/server/panel/logs/error.log;- 本地浏览器访问
http://[你的公网IP]:8888,F12打开开发者工具→Network选项卡,看请求是‘ERR_CONNECTION_TIMED_OUT’(防火墙拦了)还是‘ERR_CONNECTION_REFUSED’(服务没启); - 用手机流量访问同一网址——排除本地网络运营商屏蔽8888端口的可能(真有!某省移动就干过这事)。
第五步:进后台后的‘防坑三件套’
1. 立刻改密码:首页右上角头像→面板设置→修改密码,别用默认的弱口令;
2. 关‘强制HTTPS’开关:没配SSL前勾选它,会导致整个面板白屏,且无法通过HTTP回退;
3. 别急着装LNMP:先点‘软件商店’→顶部筛选‘已安装’,确认Nginx/Apache/Mysql/PHP是否全绿。若MySQL显示‘启动失败’,大概率是Azure默认磁盘空间只有30GB,而宝塔安装MySQL 8.0要占12GB+,剩余空间不足。此时要么扩容磁盘,要么卸载重装时选‘仅安装Nginx+PHP’(轻量方案)。
最后说句掏心窝子的
宝塔不是银弹,它把Linux运维简化成点点点,但也悄悄藏起复杂性。你在Azure上装它,本质是在公有云IaaS层叠了一层PaaS幻觉。当网站半夜502,别只刷新宝塔页面——要登上去看journalctl -u nginx -n 50,要看df -h磁盘爆没爆,要看top里MySQL是不是吃光内存被OOM Killer干掉了。
所以,这篇教程的终点,不是‘恭喜安装成功’,而是给你一把钥匙:当你下次看到宝塔面板右下角那个小齿轮图标,心里清楚——它转起来时很美,但背后每颗螺丝,都得你自己拧紧。
Azure 国际站 (完)
——写于凌晨2:17,Azure控制台里第7台成功点亮的宝塔面板旁。


