🌐 创建站点并配置指南
现在你已经有了运行环境。接下来就是创建"网站",配置好反向代理,让用户能通过域名访问你的项目。
这一步很关键,配置好了,你的项目就能正式上线了!
🎯 理解"网站"和"反向代理"
什么是网站(Site)?
在宝塔里,"网站"就是一个项目的配置容器。它包括:
- 域名绑定
- 网站文件目录
- 伪静态规则
- SSL 证书
- 反向代理规则
什么是反向代理?
反向代理是个"中间人":
用户访问 www.yoursite.com
↓
Nginx 接收请求
↓
Nginx 转发到你的 Java 项目(本地 127.0.0.1:8000)
↓
Java 项目处理并返回结果
↓
Nginx 返回给用户为什么需要它?
- 隐藏真实服务 - 用户不知道你用的是什么技术
- 负载均衡 - 可以分散流量到多个后端
- 统一入口 - 所有请求都通过 Nginx,便于监控和控制
- 安全 - 保护后端服务不直接暴露
🎯 第一步:在宝塔创建网站
打开网站管理
- 登录宝塔面板
- 左边菜单 → 点击"网站"
- 点"添加网站"按钮
填写网站信息
看到一个表单,填写以下信息:
域名(Domain):
- 输入你的域名,比如
www.yoursite.com - 如果没有域名,可以先用 IP 地址,比如
123.45.67.89 - 可以填多个域名,用逗号分隔:
yoursite.com,www.yoursite.com
💡 小贴士: 建议同时绑定带 www 和不带 www 的两个域名
根目录(Document Root):
- 系统会自动生成,比如
/www/wwwroot/yoursite.com - 这是网站的"家目录",一般不用改
网站分类(Category):
- 下拉菜单选择"Java"
- 因为我们的项目是 Java 项目
PHP 版本:
- Java 项目不需要 PHP
- 如果是 PHP 项目才选择 PHP 版本
创建成功
点"提交"后,你会看到网站列表中出现了你的新网站。
✅ 现在你有了网站的基本框架
🎯 第二步:配置反向代理(核心步骤!)
这一步最重要!配置好反向代理,用户才能访问到你的 Java 项目。
打开反向代理设置
- 在网站列表找到你刚创建的网站
- 点网站名称或右边的"设置"
- 点"反向代理"标签
添加反向代理规则
点"添加反向代理"按钮,填写:
代理名称(Proxy Name):
- 随意,比如 "Java Backend"
代理地址(Target URL):
- 输入:
http://127.0.0.1:8000 - 这是你 Java 项目运行的地址
⚠️ 关键点:
127.0.0.1是本地地址(固定的)8000是你 Java 项目监听的端口(根据你的项目改)
代理目录(Proxy Path):
- 通常填
/(表示所有请求都转发) - 如果你只想转发某些路径,可以填
/api
其他选项:
- 一般用默认值就行
- 不需要改
保存
点"提交"或"保存",反向代理就配置好了!
✅ 现在你的网站能连接到 Java 项目了
🎯 第三步:配置 HTTPS(https://)
现在是 HTTPS 时代,一定要配置 SSL 证书!
申请免费 SSL 证书
- 在网站设置中点"SSL"标签
- 看到"申请免费证书"按钮
- 点"申请免费证书"
填写信息:
- 证书类型 - 选"Let's Encrypt"(免费)
- 域名 - 选择你要申请证书的域名
💡 小贴士: 建议为所有域名都申请证书
等待申请
- 通常 1-2 分钟就申请成功
- 看到"证书已申请"说明成功了
- 宝塔会自动配置和续费
✅ HTTPS 配置完成!
验证 HTTPS
在浏览器地址栏访问:https://www.yoursite.com
如果看到绿色的"🔒"图标,说明 HTTPS 配置成功了!
⚠️ 重要: 如果提示"证书不信任",可能是:
- 域名还没解析好,等等再试
- 证书正在生效中,稍等几分钟
🎯 第四步:设置伪静态(可选)
有些前端框架(比如 Vue 单页应用)需要伪静态规则。
什么是伪静态?
伪静态就是把动态 URL 伪装成静态 URL。
比如:
- 动态:
/api/user?id=1 - 伪静态:
/user/1
配置伪静态
在网站设置中点"伪静态"标签
选择你使用的框架:
- Vue 单页应用 → 选"Vue"或"React"
- 普通网站 → 选"IIS"或"Nginx"
点"保存"
💡 小贴士: 如果不知道选什么,就选"Nginx"或默认值
🎯 第五步:设置基本安全
配置防火墙规则
在宝塔防火墙中,确保开放以下端口:
| 端口 | 用途 | 状态 |
|---|---|---|
| 80 | HTTP | ✅ 必须开放 |
| 443 | HTTPS | ✅ 必须开放 |
| 8000 | Java 项目 | ⚠️ 可选(如果Java需要直接访问) |
| 3306 | MySQL | ⚠️ 不需要对外开放 |
| 6379 | Redis | ⚠️ 不需要对外开放 |
💡 小贴士: 数据库端口不需要对外开放,只有 80 和 443 是必须的
禁止访问敏感文件
在网站"配置文件"中,添加规则禁止访问:
location ~ /\.git {
deny all;
}
location ~ /\.env {
deny all;
}这样可以保护你的 Git 和环境配置文件。
🎯 第六步:上传项目文件(可选)
如果需要上传静态文件或 Web 资源:
用宝塔文件管理器
- 点左边菜单"文件"
- 进入
/www/wwwroot/yoursite.com/目录 - 上传你的文件
用 SFTP 工具
推荐 FileZilla 或 WinSCP:
- 输入服务器 IP、用户名、密码
- 连接到
/www/wwwroot/yoursite.com/ - 拖拽上传文件
用 Git 克隆
如果项目在 Git 仓库:
cd /www/wwwroot/yoursite.com/
git clone 你的仓库地址 .⚠️ 常见问题速查
Q: 配置反向代理后还是打不开网站?
A: 排查顺序:
Java 项目启动了吗?
bashps aux | grep java看有没有 java 进程
端口对不对?
- 确认你的 Java 项目监听的确实是 8000 端口
- 在 application.yml 中查看
server.port: 8000
防火墙拦住了?
- 宝塔里确保 8000 端口已开放
- 云服务商的安全组也要开放
日志有错误吗?
- 看宝塔的 Nginx 日志
- 看你的 Java 项目日志
Q: 为什么我的 API 返回 403 或 404?
A: 可能是:
反向代理路径不对
- 检查反向代理的"代理目录"
- 通常应该是
/
跨域问题
- 前端和后端域名不一样,需要配置 CORS
- 在你的 Java 项目中配置允许跨域
API 路由有问题
- 检查你的 Java 项目路由配置
- 看日志找错误
Q: SSL 证书申请失败了怎么办?
A: 常见原因:
域名还没解析好
- 等 24 小时让 DNS 完全生效
- 再试一次申请
域名解析到了错误的 IP
- 检查你的域名 DNS 设置
- 确保指向正确的服务器 IP
Let's Encrypt 请求被拦了
- 检查防火墙有没有放行 80 和 443 端口
- 有科学网络的话可能也会影响
💡 小贴士: 如果一直失败,可以先用 HTTP(不加密),等域名解析生效再申请 HTTPS。
Q: 能同一个网站配置多个反向代理吗?
A: 可以!比如:
/api → http://127.0.0.1:8000
/admin → http://127.0.0.1:9000这样不同路径转发到不同的后端服务。
在宝塔里,点"添加反向代理"多次即可。
Q: 能同时跑多个 Java 项目吗?
A: 可以,有两种方式:
用不同端口
- 项目 1 监听 8000
- 项目 2 监听 8001
- 反向代理分别配置
用不同域名
- site1.com → 8000
- site2.com → 8001
推荐用不同域名的方式更清晰。
📋 网站配置检查清单
配置完成后,检查这些项目:
- [ ] 网站已创建,域名已绑定
- [ ] 反向代理已配置,指向正确的 Java 项目端口
- [ ] HTTPS 证书已申请并生效
- [ ] 防火墙已放行 80 和 443 端口
- [ ] 能通过 https:// 访问网站
- [ ] API 请求正常返回数据
- [ ] 静态资源能正常加载
- [ ] 错误信息不会泄露敏感信息
🎉 现在你的网站已经可以访问了!
你已经完成了:
- ✅ 创建了网站项目
- ✅ 配置了反向代理
- ✅ 申请了 HTTPS 证书
- ✅ 设置了基本安全
接下来的步骤:
- 上传你的项目代码
- 启动 Java 项目
- 初始化数据库
- 测试 API 和前端功能
详细步骤参考:
祝你的网站顺利上线!🚀