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

宝塔上100个域名要建站,手动点鼠标点到手抽筋。四条路径实测:bt命令行三行脚本秒建、Python API全自动化,完整代码直接抄走

如果你之前看过我写的宝塔批量建站教程,已经知道怎么在宝塔面板上批量添加站点、绑定域名、配置Nginx了。但很多读者看完后问了一个更前置的问题:"站点建好之后是空的,里面的网站程序怎么批量装?"——那篇也写了。

然后又有读者问了一个更更前置的问题:"我连站点都还没建呢,手里有80个域名等着创建网站,宝塔后台一个个点'添加站点'——填域名、选根目录、设PHP版本、开FTP、建数据库——一个站最少2分钟,80个站干下来一下午没了。有没有自动创建网站的工具或脚本?"

有。而且不止一种。这篇文章把四条路径——bt命令行、Python API脚本、开源GUI工具、安装时自动部署——全部实测一遍,从"零代码三行命令"到"全自动API流水线",代码和操作步骤都给你。

四条自动建站路径,一张表看清各自边界

路径上手难度单站耗时批量上限需编程一句话
bt命令行★★★约3秒数百个三行命令秒建,最稳最可靠
Python API脚本★★★★约2秒数千个灵活性最高,可集成到CI/CD
开源GUI工具★★约1秒数千个有界面、零代码、多服务器管理
面板安装时自动部署一次性1个装面板同时建站,适合新服务器

一、路径一:bt命令行 —— 三行代码,零依赖,最稳的方案

宝塔面板自带一个bt命令,可以直接在SSH终端里创建站点,不需要开API、不需要装任何东西。这是2026年社区公认最可靠、最不容易出错的批量建站方式。

# 第一步:准备域名列表文件 sites.txt,每行一个域名

cat > sites.txt << EOF

site1.example.com

site2.example.com

1 - 宝塔上100个域名要建站,手动点鼠标点到手抽筋。四条路径实测:bt命令行三行脚本秒建、Python API全自动化,完整代码直接抄走 - UC建站系统

site3.example.com

EOF

 

# 第二步:一行命令批量创建(74 = PHP 7.4,换成你的版本号)

while read domain; do

  bt add_site $domain 74

done < sites.txt

 

# 就这三行。默认会自动:创建站点 + 绑定域名 + 创建数据库 + 开启FTP

bt add_site 命令做了什么(自动完成六件事)

1创建站点配置文件在 /www/server/panel/vhost/nginx/ 下生成域名.conf
2绑定域名将域名写入Nginx/Apache的server_name
3创建网站根目录自动创建 /www/wwwroot/域名/ 并写入默认首页
4设置PHP版本关联指定的PHP版本(如74=PHP7.4)
5创建FTP账号自动生成FTP用户名和随机密码
6创建数据库自动创建MySQL数据库和用户

关键点:bt命令行是宝塔内置的原生命令,不存在"第三方插件不兼容新版宝塔"的问题。PHP版本ID怎么查?SSH输入 bt 2 看已安装的PHP版本列表,每个版本后面都有对应的数字ID。

实测数据:100个域名用bt命令行批量创建,总耗时约5分钟(每个约3秒),包括Nginx重载时间。对比手动在面板里一个一个点,一个站至少2分钟,100个站节省约3小时。

二、路径二:Python API脚本 —— 灵活性最高,适合集成到自动化流水线

如果你需要更精细的控制——比如指定数据库名、设置FTP密码、配置SSL证书、同时管理多台服务器——宝塔面板的API接口是更好的选择。下面是一份可以直接运行的Python脚本。

前置步骤:开启宝塔API并获取密钥

1. 登录宝塔面板 → 左侧菜单"设置" → "面板设置" → 找到"API接口"

2. 勾选"启用API接口"并保存

3. 保存后会显示API密钥(一串64位字符串),复制保存好

4. 在白名单IP里加上调用API的服务器IP(如果是本机调用就加127.0.0.1)

# -*- coding: utf-8 -*-

# 宝塔面板 API 批量自动创建网站脚本

# 使用前:面板设置→API接口→开启→获取密钥→加白名单IP

 

import

requests, time, hashlib, json, random, string

 

# ========== 配置区域(改成你自己的)==========

API_KEY =

"你的宝塔API密钥"

# 面板设置里复制

PANEL_URL =

"https://你的面板IP:8888"

# 面板地址+端口

PHP_VERSION =

"74"

# PHP版本ID

 

# ========== 签名函数 ==========

def

get_sign

():

nonce =

''

.join(random.choices(string.ascii_letters + string.digits, k=

12

))

now =

int

(time.time())

sign_str = nonce +

str

(now) + API_KEY

sign = hashlib.sha256(sign_str.encode()).hexdigest()

return

{

"X-Nonce"

: nonce,

"X-Time"

:

str

(now),

"X-Sign"

: sign

2 - 宝塔上100个域名要建站,手动点鼠标点到手抽筋。四条路径实测:bt命令行三行脚本秒建、Python API全自动化,完整代码直接抄走 - UC建站系统

}

 

# ========== 建站函数 ==========

def

create_site

(domain):

headers = {

"Content-Type"

:

"application/json"

,

**

get_sign()}

data = {

"webname"

: domain,

"path"

:

f"/www/wwwroot/{domain}"

,

"type"

:

"php"

,

"php_version"

: PHP_VERSION

}

try

:

r = requests.post(

f"{PANEL_URL}/site/create_site"

,

headers=headers, data=json.dumps(data), timeout=

30

,

verify=

False

# 自签名证书关掉验证

)

result = r.json()

if

result.get(

"status"

):

print

(

f"✅ {domain} 创建成功"

)

else

:

print

(

f"❌ {domain} 失败: {result.get('msg')}"

)

except

3 - 宝塔上100个域名要建站,手动点鼠标点到手抽筋。四条路径实测:bt命令行三行脚本秒建、Python API全自动化,完整代码直接抄走 - UC建站系统

Exception

as

e:

print

(

f"❌ {domain} 异常: {e}"

)

 

# ========== 批量执行 ==========

domains = [

"site1.example.com"

,

"site2.example.com"

,

# ... 更多域名

]

 

for

domain

in

domains:

create_site(domain)

time.sleep(

0.5

)

# 间隔0.5秒,避免触发频率限制

 

print

(

f"\n全部完成,共处理 {len(domains)} 个域名"

)

API返回的错误码速查

错误码含义解决方法
-100签名验证失败检查拼接顺序:nonce + 时间戳 + API密钥,SHA256
-101参数缺失检查JSON body中webname、path、type、php_version是否都有
-102域名已被占用该域名已绑定到其他站点,先删除旧站点或换域名
-103目录已存在/www/wwwroot/域名/ 目录已存在,换路径或删除旧目录

注意事项:API批量建站建议每次请求间隔0.5-1秒,避免触发宝塔的频率限制。另外如果面板用了自签名SSL证书,requests要加 verify=False,否则会报SSL错误。

三、路径三:开源GUI工具 —— 有界面、零代码、支持多服务器

如果完全不想碰命令行,或者需要同时管理多台宝塔服务器,社区里有现成的开源GUI工具可以直接用。

宝塔API批量建站工具(开源免费)

核心功能文本模式批量建站、多服务器管理、SSL证书批量申请与部署、源站配置复制、自动追加WWW域名、批量修改伪静态、PHP版本统一设定
使用方式网页端操作:添加宝塔服务器地址和API密钥 → 文本粘贴域名列表 → 选择配置 → 一键批量创建
特色功能支持源站配置复制(把一个站点的Nginx配置、伪静态、SSL设置一键复制到新站点);支持多服务器切换管理
支持系统Windows + Linux 宝塔面板
价格免费
最适合非技术背景的站长、需要管理多台服务器、经常批量建站+SSL证书一起搞的用户

baota_BT_SSL(GitHub开源)

核心功能批量建站 + 批量SSL证书申请 + 一键HTTPS强制跳转 + 批量续签证书 + 文件批处理
定位解决数万域名级别的批量建站和SSL管理需求,适合站群和大规模运维
技术栈基于宝塔API,Python开发,命令行+配置文件方式运行
价格免费开源
最适合站群运营者、需要建站+SSL一站式搞定、域名数量在百级以上的用户

第三方工具的风险:社区普遍建议优先用宝塔原生的bt命令和API,不推荐使用"宝塔插件市场"里的第三方批量建站插件。原因有三:①权限过高,可能读取所有站点配置和数据库密码;②宝塔大版本更新(如v8.0+)时API可能变动,第三方插件更新不及时直接报错;③出错时日志藏在插件私有路径里,排查困难。开源GitHub工具相对靠谱,但也建议先在小范围测试再批量使用。

四、路径四:面板安装时自动部署 —— 新服务器一步到位

如果你是新服务器,还没装宝塔面板,可以在安装面板的同时就自动创建网站。宝塔官方安装脚本支持传参自动部署。

# 安装宝塔面板的同时,自动创建WordPress站点

# 参数说明:--domain=域名 --php=PHP版本 --db=自动创建数据库 --deploy=部署程序

 

curl -sSO https://download.bt.cn/install/install_panel.sh

bash install_panel.sh \

  --domain=my-site.example.com \

  --php=74 \

  --db=yes \

  --deploy=wordpress

适用场景:新购VPS/服务器,需要一次性搞定"装面板+建站点+装程序"。不适合已有面板想追加批量建站的场景。

五、建站跑完不等于万事大吉:批量建站后必做的三件事

第一件:检查Nginx配置是否全部生效

批量建站后,宝塔在高并发创建时可能跳过部分校验。SSH执行 nginx -t,检查是否有重复的server_name、非法字符(如下划线开头的域名)、语法错误。如果有报错,去 /www/server/panel/vhost/nginx/ 找到对应域名的.conf文件手动修复,然后 nginx -s reload

第二件:验证数据库和FTP是否创建成功

bt命令和API默认会自动创建数据库和FTP,但不是100%保证。去宝塔面板的"数据库"和"FTP"页面看一眼,确认每个域名对应的数据库和FTP账号都生成了。数据库密码是随机生成的,记得记录下来。

第三件:批量覆盖默认首页

bt add_site命令默认会在每个站点根目录写入宝塔的欢迎页。如果你有自己的统一首页模板,用rsync或cp批量覆盖:

# 把模板文件批量复制到所有站点根目录

while

read

domain;

do

cp /root/template/index.html /www/wwwroot/$domain/

done

< sites.txt

六、批量建站最容易翻车的四个坑

1

域名没解析就开始建站

bt命令和API不会检查DNS是否已解析。如果你建了站但域名还没指向服务器IP,网站能创建成功但访问不了。先确认DNS A记录已指向服务器IP再批量建站,或者先建站后补解析。

2

PHP版本ID写错了

bt add_site 的PHP版本参数是数字ID,不是版本号。74代表PHP 7.4,80代表PHP 8.0,81代表PHP 8.1。不确定ID的话SSH输入 bt 2 查看已安装的PHP版本列表和对应ID。

3

批量建站后没有逐个验证

脚本跑完看到一堆"成功"就以为全搞定了。高并发下宝塔可能跳过某些校验——个别站点的Nginx配置可能没写进去、数据库可能没创建、FTP可能没开。跑完后花5分钟抽查几个站点,确认能正常访问。

4

SSL证书批量申请触发Let's Encrypt频率限制

Let's Encrypt对同一域名每周最多申请5次证书,同一IP每小时有限额。如果你批量建了100个站然后一次性全申请SSL证书,大概率会被限流。建议分批申请,每批20-30个,间隔1小时。

七、不同场景,对号入座

你的情况推荐方案原因
10-50个域名,不想写代码bt命令行 + sites.txt三行命令,零依赖,最稳定,5分钟搞定
100+个域名,需要精细控制Python API脚本可指定数据库名、FTP密码、PHP版本,支持错误处理和日志
完全不懂命令行,要图形界面开源GUI工具网页操作,粘贴域名列表一键建站,还能管理多台服务器
新服务器,装面板同时建站安装脚本传参自动部署一步到位,装面板+建站+装程序一次性搞定
需要建站+SSL证书一起搞baota_BT_SSL开源工具批量建站+SSL申请+HTTPS跳转一条龙,站群运营首选
建完站还要批量装WordPress先bt命令创建站点,再看"宝塔批量网站程序安装"教程创建站点和安装程序是两个独立步骤,分开操作更清晰

宝塔自动创建网站这件事,2026年的最优解不是找什么"一键批量建站插件",而是用宝塔自带的bt命令行。三行代码、零依赖、不挑宝塔版本、不会因为面板升级而失效。需要更灵活的控制就用Python调API,需要图形界面就用开源GUI工具。

但无论选哪条路,建站跑完后的三件事不能省:Nginx配置检查、数据库和FTP验证、默认首页覆盖。脚本能帮你省3小时,但最后5分钟的验证,是区分"批量建站"和"批量建站不出事"的关键。

站点建好了,下一步就是在这些空站点里批量安装程序——WordPress、Typecho、Z-Blog怎么自动批量部署,可以看之前写的"宝塔批量网站程序安装"那一篇,两篇连起来就是一条完整的"批量建站→批量装程序→批量上线"流水线。

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