宝塔面板搭建网站教程,简单来说就是通过宝塔面板在云服务器上安装网站运行环境、创建站点、上传网站程序、绑定域名并配置SSL证书,最终实现网站可访问的一整套操作流程。
准备工作
准备一台云服务器
推荐配置为1核2G及以上,系统选择CentOS 7.x、Ubuntu 20.04/22.04或Debian 11/12,购买完成后,在云服务商控制台获取服务器公网IP地址和root密码。
放行安全组端口
登录云服务商控制台,在安全组规则中放行以下常用端口:

22:SSH远程连接
80:HTTP网站访问
443:HTTPS网站访问
8888:宝塔面板默认端口
3306:MySQL数据库端口
20/21:FTP端口
如果后续修改了宝塔面板端口,也需要在安全组中放行对应端口。
准备域名并解析
在域名商处添加A记录,将域名指向服务器公网IP。
主机记录:
www,记录类型:A,记录值:服务器IP主机记录:,记录类型:A,记录值:服务器IP
解析生效后,域名即可指向服务器。
安装宝塔面板
连接服务器
Windows系统可以使用PuTTY或系统终端,macOS和Linux直接使用终端,执行:
sshroot@服务器IP
输入root密码登录,建议登录后先修改root密码:
passwd
执行安装命令
CentOS/RedHat系统执行:
yuminstall-ywget&&wget-Oinstall.shhttps://download.bt.cn/install/install_6.0.sh&&shinstall.shed8484bec
Ubuntu/Debian系统执行:
wget-Oinstall.shhttps://download.bt.cn/install/install-ubuntu_6.0.sh&&sudobashinstall.shed8484bec
安装过程中如果提示是否安装到/www目录,输入y并回车,等待约5至15分钟,安装完成后会显示面板地址、用户名和密码。
记录面板信息
安装完成后,终端会返回类似以下信息:
Bt-Panel:http://服务器IP:8888/xxxx username:xxxxx password:xxxxx
保存该信息,如果忘记,可在服务器执行:
btdefault
查看默认面板地址、账号和密码。
登录面板并安装环境
访问宝塔面板
浏览器打开安装完成后显示的面板地址,输入用户名和密码登录,初次登录可能会提示绑定宝塔账号,注册或登录后继续操作。
安装网站环境
进入面板后,通常会弹出推荐安装套件,选择LNMP或LAMP,一般选择LNMP,包含Nginx、MySQL、PHP、phpMyAdmin,版本建议如下:
Nginx:1.24或最新稳定版
MySQL:5.7或8.0,根据网站程序兼容性选择
PHP:7.4、8.0、8.1或8.2,WordPress建议8.0以上,旧程序可选择7.4
phpMyAdmin:5.2
可以选择“极速安装”或“编译安装”,编译安装更稳定但耗时较长,测试环境可选极速安装,点击一键安装,等待任务完成。
修改面板安全设置
为提高安全性,可以在面板设置中修改默认端口、安全入口、绑定域名并开启面板SSL,修改后需要重新登录,并确保新端口已在安全组放行。
创建网站站点
添加站点
进入“网站”菜单,点击“添加站点”,填写以下信息:
域名:输入已解析的域名,可同时添加带
www和不带www的域名根目录:默认为
/www/wwwroot/域名,可自定义FTP:可选择创建或不创建
数据库:选择MySQL,设置数据库名、用户名和密码,系统自动创建
PHP版本:按网站程序要求选择
点击“提交”,站点创建成功。
查看站点信息
站点创建完成后,可在网站列表中看到新站点,点击“设置”可修改站点配置,记录数据库名、用户名和密码,后续安装网站程序时会使用。
上传网站源码
进入站点根目录
站点根目录默认位于:
/www/wwwroot/你的域名
可通过宝塔面板“文件”菜单进入该目录。
上传源码文件
常用上传方式包括:
面板上传:点击“上传”,选择本地网站源码压缩包,上传后右键“解压”
远程下载:在面板文件管理中点击“远程下载”,输入源码包URL,下载后解压
FTP上传:使用FTP客户端连接服务器IP,端口21,账号密码为创建站点时设置的信息,上传至根目录
命令行上传:使用scp或rsync命令上传
调整目录权限
如果通过root或其他用户上传,需要调整目录归属,在面板文件管理中,选择站点目录,右键“设置权限”,所有者为www,权限755,勾选“应用到子目录”并保存。
配置站点设置
设置运行目录
部分PHP框架如ThinkPHP、Laravel需要将public目录设为运行目录,在站点“设置” -> “网站目录”中,将“运行目录”选择为/public,保存即可。
配置伪静态
在“站点设置” -> “伪静态”中选择预设规则或粘贴规则,常见规则如下:
ThinkPHP:
location/{
if(!-e$request_filename){
rewrite^(.*)$/index.php?s=$1last;
}
}Laravel:
location/{
try_files$uri$uri//index.php?$query_string;
}保存后立即生效。
设置默认文档
在“站点设置” -> “默认文档”中,确认包含index.php、index.html,如果站点首页不是这些文件名,需要添加对应的默认文档。
申请SSL证书
若需要HTTPS访问,在站点“设置” -> “SSL” -> “Let's Encrypt”中,勾选域名并点击“申请”,申请前需确认域名已正确解析且服务器80端口可访问,申请成功后,开启“强制HTTPS”可自动跳转。
也可以上传其他证书,粘贴证书内容与私钥内容后保存。
防跨站攻破与目录保护
默认情况下防跨站攻破处于开启状态,如有敏感目录,可在目录保护中设置用户名和密码,增加访问限制。
导入数据库
打开phpMyAdmin
在面板首页或数据库菜单中点击phpMyAdmin,登录MySQL root账号或创建站点时生成的数据库账号。
导入SQL文件
选择对应数据库,点击“导入”,选择本地SQL文件或粘贴SQL内容并执行,大体积SQL文件可在服务器命令行导入:
mysql-u数据库用户名-p数据库名</www/wwwroot/你的域名/数据文件.sql
输入数据库密码后执行。
修改网站数据库配置
根据网站程序修改对应配置文件:
WordPress:修改
wp-config.php中的DB_NAME、DB_USER、DB_PASSWORD、DB_HOSTThinkPHP:修改
.env或config/database.phpLaravel:修改
.env中的DB_DATABASE、DB_USERNAME、DB_PASSWORD
将数据库信息改为面板创建时的值。
域名解析与访问测试
检查域名解析
确认域名A记录已指向服务器IP,可以使用以下命令检查:
ping你的域名
或:
nslookup你的域名
本地hosts测试
如果域名解析尚未生效,可修改本地hosts文件临时测试:
Windows:
C:\Windows\System32\drivers\etc\hostsLinux/macOS:
/etc/hosts
添加一行:
服务器IP你的域名
保存后访问测试。
浏览器访问
打开http://你的域名或https://你的域名,如果显示安装向导页面,按提示填写数据库信息并完成安装,如果直接显示网站内容,说明部署成功。
常见操作与故障排查
网站无法访问
依次检查:
域名解析是否生效
安全组是否放行80/443端口
面板中站点状态是否为“运行中”
Nginx或Apache错误日志
网站日志可在“网站” -> “设置” -> “日志”中查看,或查看/www/wwwlogs/目录。
502 Bad Gateway
常见原因包括:
PHP版本与程序不兼容,切换PHP版本
PHP服务未启动,在“软件商店”中重启PHP
网站配置文件错误,查看错误日志
数据库连接失败
检查数据库名、用户名、密码是否正确,确认MySQL服务是否正常运行,并确认数据库用户有对应权限。
上传后显示404
检查站点根目录是否有入口文件,设置正确的运行目录,并配置伪静态规则。
修改文件权限
站点目录建议所有者为www,权限755,需要写入的目录如uploads、cache、runtime可设置为775或777,执行:
chown-Rwww:www/www/wwwroot/你的域名
find/www/wwwroot/你的域名-typed-execchmod755{}\;
find/www/wwwroot/你的域名-typef-execchmod644{}\;需要可写目录再执行:
chmod-R777/www/wwwroot/你的域名/runtime
定时备份与安全维护
开启自动备份
在宝塔面板“计划任务”中添加备份任务,备份网站目录与数据库,保留近7份,每天凌晨执行,可备份至服务器本地或对象存储、远程FTP。
更新面板与软件
定期在“软件商店”中更新Nginx、MySQL、PHP、phpMyAdmin等软件,面板本身也可在右上角更新。
修改默认登录入口
开启面板SSL,修改安全入口,限制面板访问IP,关闭不必要的端口。
设置防火墙
使用系统防火墙或云安全组,仅放行需要的端口,减少暴露面,宝塔面板相关防火墙管理命令可通过bt命令查看。