用户登录
个人主页 用户中心 我的订单 添加授权 管理授权
退出登录
用户登录 用户注册
欢迎来到 UC建站系统

宝塔面板的"一键建站"到底有几种?安装面板同时建站、批量创建几十个域名、API自动部署WordPress,三种脚本全给你,比挨个点鼠标快10倍

刚拿到一台新服务器,装完宝塔面板,要在上面跑个WordPress或者批量挂十几个独立站,一个个点鼠标建站?10个站还行,30个、50个的时候手指都点麻了。其实宝塔提供了不止一种"脚本化建站"的方式,从安装面板那一刻就能同时把网站搭好,到用命令行批量创建域名站点,再到调API全自动部署程序源码——这篇文章把三种脚本的写法、参数、坑全整理出来,复制就能用。

三种脚本,对应三种场景

场景一:新服务器从零开始,装面板的同时就把WordPress建好 → 安装时自动部署
场景二:面板已经装好了,要批量创建几十个域名站点 → bt命令行批量脚本
场景三:站点建好了,要自动部署WordPress/Typecho等程序源码 → API一键部署脚本

一、场景一:安装面板的同时就把网站建好

2026年宝塔官方在安装流程里新增了"自动部署"选项。在宝塔官网的安装引导页面,你可以直接选好:Nginx版本、MySQL版本、PHP版本,以及要部署什么程序——WordPress、ThinkPHP-5.0、或者空站点(只搭环境不装程序)。页面会自动生成一条专属安装命令,你复制到服务器上执行,等脚本跑完,面板装好了,网站也建好了,SSL证书也自动配好了。

操作步骤
  1. 打开宝塔官网,进入"安装"页面
  2. 在"自动部署"区域选择:程序类型(WordPress / ThinkPHP / 空站点)、Nginx版本、MySQL版本、PHP版本
  3. 页面自动生成一条专属安装命令,直接复制
  4. SSH连上服务器,粘贴命令回车
  5. 等15-30分钟(取决于服务器性能和网络),安装完成
  6. 打开浏览器访问 https://服务器IP,WordPress已经在运行了
⚠ 注意

用IP访问时宝塔会自动配SSL证书。但后续绑定了域名访问时,证书不会自动配置,需要你手动在面板里申请。另外,这个方式适合"一台新服务器建一个主站"的场景,如果你想装完面板批量建几十个域名站点,往下看第二种方式。

2026年7月最新版宝塔面板通用安装命令(适用于CentOS/Debian/Ubuntu):

if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

系统兼容性方面,官方推荐顺序:Debian 12 > Ubuntu 22 > CentOS 9 / OpenCloud 9。Windows系统不能直接用,需要先重装Linux。

二、场景二:面板已装好,批量创建几十个域名站点

很多人搜"宝塔一键建站脚本",实际上搜的是这个:面板已经装好了,LNMP环境也配好了,现在要快速创建几十个域名站点——每个站点绑定独立域名、独立根目录、独立数据库、独立FTP账号。手动在面板里一个一个添加,10个站就要点几十次鼠标。

宝塔面板虽然没有官方的一键批量建站功能,但它内置了一个bt命令行工具,可以调用底层Python API来创建站点。配合一个简单的Shell脚本循环,就能实现批量建站。

2.1 批量创建域名站点的Shell脚本

第一步,创建一个域名列表文件 sites.txt,每行一个域名:

1 - 宝塔面板的"一键建站"到底有几种?安装面板同时建站、批量创建几十个域名、API自动部署WordPress,三种脚本全给你,比挨个点鼠标快10倍 - UC建站系统

mysite1.commysite2.commysite3.comblog.example.comshop.example.com

第二步,创建建站脚本 batch_create_sites.sh

#!/bin/bash# 宝塔批量建站脚本# 用法: ./batch_create_sites.sh sites.txt 74# 参数1: 域名列表文件 参数2: PHP版本ID(74=PHP7.4, 80=PHP8.0, 82=PHP8.2)DOMAIN_FILE="$1"PHP_VER="${2:-74}"if [ ! -f "$DOMAIN_FILE" ]; thenecho "域名列表文件不存在: $DOMAIN_FILE"exit 1fiCOUNT=0while read domain; do# 跳过空行和注释行[[ -z "$domain" || "$domain" == \#* ]] && continueecho "正在创建站点: $domain (PHP$PHP_VER)..."bt add_site "$domain" "$PHP_VER"if [ $? -eq 0 ]; thenecho "✅ $domain 创建成功"COUNT=$((COUNT + 1))elseecho "❌ $domain 创建失败"fidone < "$DOMAIN_FILE"echo ""echo "========================"echo "批量建站完成,共创建 $COUNT 个站点"echo "========================"echo ""echo "⚠ 接下来请执行以下检查:"echo "1. nginx -t # 检查Nginx配置是否有错误"echo "2. bt 76 # 查看SSL证书状态"echo "3. 检查各站点 /www/wwwroot/域名/ 目录下的默认首页"

第三步,赋予执行权限并运行:

chmod +x batch_create_sites.sh./batch_create_sites.sh sites.txt 74

bt add_site 命令的默认行为是:创建站点、绑定域名、创建对应数据库、开启FTP、尝试申请SSL证书。一套操作下来,一个完整的独立站点就搭好了。

2.2 脚本跑完≠万事大吉,三项必查

批量创建后脚本不会自动帮你校验,下面三项检查每次都要做:

检查项命令看什么
Nginx配置nginx -t是否有重复server_name或域名含非法字符导致的配置错误
SSL证书bt 76查看证书列表,状态为"未获取到证书"的需用bt 77强制续签
站点首页检查目录/www/wwwroot/域名/ 下的index.html是否为预期内容,如需统一模板用rsync批量覆盖

2.3 如果你需要更精细的控制

bt add_site 是一条封装好的快捷命令,但它没法控制"不要自动创建数据库"或"不要自动申请SSL"这种细节。如果你需要更灵活的参数,可以直接调宝塔底层的Python API:

python /www/server/panel/class/web_api.py add_site 域名 PHP版本ID

这个方法给的是原始API入口,可以传入更多自定义参数,适合有开发能力的用户做二次封装。

三、场景三:用API全自动部署程序源码

站点建好了,目录是空的,下一步要装WordPress、Typecho还是其他程序?宝塔面板内置了"一键部署"功能,在软件商店里可以直接装。但如果想脚本化、自动化——比如每次建站后自动部署WordPress——就需要调宝塔的部署API。

3.1 开启API并获取密钥

第一步,进宝塔面板后台 → 左侧菜单"设置" → "面板设置" → 找到"API接口"区域 → 勾选"启用API接口" → 保存。页面会显示API密钥(api_sk),把它记下来。

2 - 宝塔面板的"一键建站"到底有几种?安装面板同时建站、批量创建几十个域名、API自动部署WordPress,三种脚本全给你,比挨个点鼠标快10倍 - UC建站系统

宝塔面板 v11.7.0 的API认证方式使用的是双重MD5签名,请求格式为POST,Content-Type为application/x-www-form-urlencoded

3.2 Python全自动建站+部署WordPress脚本

下面这个脚本做了三件事:①创建站点 → ②一键部署WordPress → ③输出站点信息。复制后改三个变量就能用:

#!/usr/bin/env python3# 宝塔面板全自动建站+部署WordPress脚本# 环境: Python 3.6+import requestsimport hashlibimport timeimport json# ========== 修改下面三个变量 ==========PANEL_URL = "https://你的服务器IP:8888" # 宝塔面板地址API_KEY = "你的api_sk密钥" # 面板设置→API接口中获取DOMAIN = "your-site.com" # 要创建的域名PHP_VERSION = "74" # PHP版本: 74/80/81/82/83/84# =====================================# 构造签名request_time = str(int(time.time()))token_raw = request_time + hashlib.md5(API_KEY.encode()).hexdigest()request_token = hashlib.md5(token_raw.encode()).hexdigest()# 公共请求头headers = {"Content-Type": "application/x-www-form-urlencoded"}def bt_api(action, data=None):"""调用宝塔面板API"""if data is None:data = {}data["request_time"] = request_timedata["request_token"] = request_tokenurl = f"{PANEL_URL}/{action}"resp = requests.post(url, data=data, headers=headers, verify=False)return resp.json()# 关闭SSL警告(自签名证书场景)import urllib3urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)print(f"=== 开始自动建站: {DOMAIN} ===\n")# 步骤1: 创建站点print("[1/3] 正在创建站点...")result = bt_api("site?action=AddSite", {"webname": json.dumps({"domain": DOMAIN, "domainlist": [], "count": 0}),"path": f"/www/wwwroot/{DOMAIN}","type_id": "0","type": "PHP","version": PHP_VERSION,"port": "80","ps": DOMAIN,"ftp": "true","sql": "true","codeing": "utf8","dataass": "true"})print(f" 创建站点结果: {result.get('msg', result)}")if result.get("status") != True:print("❌ 创建站点失败,终止脚本")exit(1)site_id = result.get("siteStatus", {}).get("siteId", "")print(f" 站点ID: {site_id}")# 步骤2: 获取可部署的软件包列表print("\n[2/3] 正在获取一键部署包列表...")result = bt_api("deployment?action=GetList")packages = result.get("data", [])wp_package = Nonefor pkg in packages:if "wordpress" in pkg.get("name", "").lower():wp_package = pkgbreakif not wp_package:print("❌ 未找到WordPress部署包")exit(1)print(f" 找到WordPress包: {wp_package.get('name')}")# 步骤3: 部署WordPress到目标站点print("\n[3/3] 正在一键部署WordPress...")result = bt_api("deployment?action=SetupPackage", {"id": str(wp_package.get("id")),"site_id": str(site_id),"sitename": DOMAIN})print(f" 部署结果: {result.get('msg', result)}")print(f"\n=== 建站完成 ===")print(f"站点域名: {DOMAIN}")print(f"站点目录: /www/wwwroot/{DOMAIN}")print(f"访问地址: http://{DOMAIN}")print(f"请访问上述地址完成WordPress初始化配置(设置管理员账号密码等)")
使用说明
  1. 先在服务器上安装Python requests库:pip3 install requests urllib3
  2. 修改脚本顶部的三个变量:面板地址、API密钥、目标域名
  3. 运行:python3 bt_auto_deploy.py
  4. 脚本会自动创建站点→部署WordPress→输出访问地址
  5. 首次访问域名进入WordPress安装向导,设置管理员账号即可

3.3 部署其他程序的API要点

上面脚本的核心是/deployment?action=SetupPackage这个接口。如果你要部署的不是WordPress,而是Typecho、可道云、ThinkPHP等,只需要改第2步里匹配的包名即可。宝塔面板一键部署目前支持的程序包括:

程序类型适用场景
WordPressCMS/博客企业站、博客、商城(插件生态最丰富)
Typecho轻量博客个人博客、轻量内容站(比WP省资源)
ThinkPHP-5.0PHP框架自研项目、二次开发
可道云私有云盘搭建私有网盘、团队文件共享
帝国CMSCMS中文内容管理系统,适合资讯站

你也可以在脚本的第2步加一个循环,先调GetList接口打印所有可部署的包名和ID,方便你选:

# 列出所有可一键部署的程序result = bt_api("deployment?action=GetList")for pkg in result.get("data", []):print(f"ID: {pkg['id']}, 名称: {pkg['name']}")

四、三种方式怎么选?一张表说清楚

对比维度安装时自动部署bt批量脚本API全自动
门槛⭐ 零基础⭐⭐ 会复制粘贴即可⭐⭐⭐ 需懂Python基础
适用时机新服务器,面板还没装面板已装,需批量建域名站点需要全流程自动化
建站数量1个站无限(取决于服务器性能)无限(可循环调用)
支持程序WordPress / ThinkPHP / 空站仅建空站点,程序需手动装WordPress / Typecho / 可道云 / ThinkPHP等
自动化程度半自动(需手动复制命令)半自动(需准备域名列表)全自动(可集成到CI/CD)
灵活度高(可自定义所有参数)

五、新手最容易踩的4个坑

坑1不要用第三方"批量建站插件"

宝塔插件市场里有一些"批量建站助手"之类的第三方插件,权限要求很高,可能读取你所有站点的配置甚至数据库密码。而且宝塔更新到v8.0+以后,很多第三方插件的API调用直接报错,排查起来日志还藏在插件私有路径里。用官方bt命令或API,出问题有据可查。

坑2批量建站后必须手动跑 nginx -t

脚本批量创建站点后,Nginx配置可能因为域名重复、特殊字符等原因出现语法错误。如果不检查就直接nginx -s reload,可能导致所有站点一起挂掉。养成习惯:每次批量建站后,先nginx -t检查配置,没问题再reload。

坑3API密钥泄露=服务器裸奔

宝塔API密钥拿到之后可以做面板上所有操作:创建/删除站点、修改数据库密码、甚至卸载面板。不要把含密钥的脚本传到公开的GitHub仓库里。建议把密钥写在环境变量或单独的配置文件里,.gitignore掉。

坑4SSL证书批量申请有频率限制

Let's Encrypt对同一个IP的证书申请有频率限制(每小时约50个)。如果你一次批量建了上百个域名站点,SSL证书不会全部自动申请成功。建议先建站,然后分批次手动续签,或者写一个延迟脚本每次间隔几秒再申请。

3 - 宝塔面板的"一键建站"到底有几种?安装面板同时建站、批量创建几十个域名、API自动部署WordPress,三种脚本全给你,比挨个点鼠标快10倍 - UC建站系统

六、几个能让你少折腾的技巧

技巧1:域名列表从CSV读取

如果你有一份CSV文件包含域名、PHP版本、是否需要数据库等信息,可以用Python的csv模块读取后循环调用API,比纯Shell脚本更灵活,也方便做错误重试。

技巧2:建站后统一覆盖模板首页

bt add_site创建的站点默认首页是宝塔的欢迎页。如果你有统一的模板首页,建完站后一条rsync命令批量覆盖所有站点目录:for d in /www/wwwroot/*/; do cp template.html "$d/index.html"; done

技巧3:配合Webhook实现Git推送自动部署

在宝塔面板的软件商店安装"Webhook"插件,配置Git仓库地址和部署脚本。代码push到GitHub/Gitee后,服务器自动git pull更新代码,不用每次手动上传。

技巧4:用Docker版宝塔隔离环境

GitHub上有一个ifui/baota项目,把宝塔面板封装到Docker容器里。每次测试建站脚本前,起一个新的Docker容器做实验,搞坏了直接删容器重建,不影响生产环境。

七、宝塔面板常用bt命令速查

以下命令在SSH连接服务器后直接输入即可,不需要进面板Web界面:

命令功能
bt显示命令行工具箱菜单
bt default查看面板登录地址、账号、密码(忘记时用)
bt 5修改面板密码
bt 8修改面板端口
bt 14查看面板默认登录信息
bt 1 / 2 / 3重启 / 停止 / 启动面板
bt 9清除面板缓存
bt 10清除面板登录限制(输错密码被锁时用)
bt 22显示面板错误日志
bt 76 / 77查看SSL证书列表 / 强制续签证书

注意:bt命令主要管理面板本身(重启、改密码、清缓存等),bt add_site 是底层Python API的封装,不在bt工具箱菜单里显示,但可以直接用。

八、如果你用的是腾讯云/阿里云,还有一个更简单的办法

腾讯云和阿里云的轻量应用服务器在购买时可以直接选"宝塔面板"镜像。重装系统选这个镜像,系统装好宝塔就已经在里面了,省去手动安装面板这一步。镜像版本可能不是最新的,登录后去面板右上角点"更新"即可。

然后再配合本文的第二种或第三种脚本方式,就能实现"买服务器 → 开机 → 跑脚本 → 网站上线"的全自动流程。


最后说一句

宝塔面板的"一键建站"不是一个按钮能搞定的事,而是三种场景三条路:装面板时顺手建站适合新手单站场景,bt批量脚本适合批量域名站群,API全自动脚本适合有开发能力、想做CI/CD自动化的场景。选对方法,10分钟能搞定的就别花两小时点鼠标。唯一要记住的是:脚本跑完一定手动检查Nginx配置、SSL证书、站点首页三项,别偷这个懒。

相关推荐
在线客服
👇找客服拿折扣
QQ咨询&售后
在线时间
11:00 ~ 5:30
QQ:3155555535
👇联系QQ
👇联系WX
首页 程序 帮助 登录