1Panel 部署网站详细教程
从零开始学会使用 1Panel 部署各种类型的网站
目录 / Table of Contents
一、部署前准备
1.1 确认 1Panel 已安装
确保你已经成功安装 1Panel 面板,并能正常登录。如果还未安装,请参考 1Panel 安装教程。
1.2 准备网站类型
根据网站类型选择部署方式:
| 网站类型 | 示例 | 部署方式 |
|---|---|---|
| 静态网站 | HTML、Vue、Hugo、Hexo | 直接上传文件 |
| PHP 网站 | Typecho、Zblog、单页 PHP | PHP 运行环境 |
| 动态博客 | WordPress、Halo | 应用商店一键部署 |
| 应用代理 | 各类 Web 应用 | 反向代理 |
1.3 准备域名(推荐)
- 购买域名(如阿里云、腾讯云、Cloudflare)
- 将域名解析到服务器 IP(A 记录)
- DNS 解析生效需要几分钟到几小时
💡 没有域名也可以使用 IP 地址直接访问网站进行测试。
1.4 放行防火墙端口
在 1Panel 面板中:「主机」→「防火墙」放行以下端口:
| 端口 | 用途 |
|---|---|
| 80 | HTTP |
| 443 | HTTPS |
| 8080 | 备用 HTTP |
同时记得在云服务商安全组中放行这些端口!
二、部署静态网站
静态网站是最简单的部署方式,适合 HTML/CSS/JS 单页应用或编译后的前端项目。
2.1 创建网站
1登录 1Panel 面板,点击左侧菜单「网站」→「创建网站」
2选择网站类型:「静态网站」
3填写主域名(如 example.com,没有域名可填服务器 IP)
4选择协议:HTTP(暂时),HTTPS 后面再配置
5设置网站根目录(默认即可)
6点击「创建」按钮
2.2 上传网站文件
网站创建后,有两种方式上传文件:
方式一:使用面板上传
- 进入「网站」→ 找到刚创建的网站 → 点击「网站目录」
- 在 1Panel 文件管理器中上传你的网站文件
- 确保
index.html在根目录
方式二:使用 FTP 上传
先在 1Panel 中开启 FTP:
# 面板应用商店搜索 FTP,开启 FTP 服务
# 或者使用 SFTP(推荐):
# 主机:你的服务器IP
# 端口:22
# 用户名:root
# 密码:服务器密码
方式三:使用 SSH 命令上传
# 本地上传文件到服务器
scp -r ./dist/* root@你的服务器IP:/opt/1panel/apps/openresty/openresty/www/sites/你的网站目录/
# 或者在服务器上拉取代码
cd /opt/1panel/apps/openresty/openresty/www/sites/你的网站目录/
git clone https://github.com/你的用户名/你的仓库.git .
unzip dist.zip
2.3 访问网站
文件上传完成后,浏览器访问:
http://你的域名或IP
✅ 如果看到你的网站,说明静态网站部署成功!
三、部署 PHP 网站
适用于 Typecho、Zblog、自定义 PHP 项目等。
3.1 安装 PHP 运行环境
1进入「应用商店」→ 搜索「PHP」
2选择需要的 PHP 版本(推荐 PHP 7.4 或 8.0)
3点击「安装」,等待安装完成
4安装 MySQL 数据库(如果需要)
3.2 创建 PHP 网站
1「网站」→「创建网站」→ 选择「PHP 网站」
2填写域名
3选择 PHP 版本(刚才安装的版本)
4选择是否启用伪静态(WordPress、Typecho 都需要)
5点击「创建」
3.3 创建数据库
「数据库」→「添加数据库」:
| 配置项 | 说明 |
|---|---|
| 数据库名 | 如 myblog_db |
| 用户名 | 自动生成 |
| 密码 | 自动生成(务必保存) |
| 权限 | 全部权限 |
3.4 部署 PHP 程序
以 Typecho 为例:
# 进入网站目录
cd /opt/1panel/apps/openresty/openresty/www/sites/typecho/
# 下载 Typecho
wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip
unzip typecho.zip
# 或者使用 curl 下载
# curl -L -o typecho.zip https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip
# 设置权限
chown -R www:www .
chmod -R 755 .
然后访问域名,按照 Typecho 安装向导填写数据库信息即可。
3.5 启用伪静态规则
「网站」→ 选择网站 → 「设置」→「伪静态」→ 选择对应程序:
# Typecho 伪静态
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php$1 last; break;
}
}
# WordPress 伪静态
location / {
try_files $uri $uri/ /index.php?$args;
}
四、一键部署 WordPress
使用 1Panel 应用商店一键部署 WordPress,最省心的方式!
4.1 应用商店安装
1「应用商店」→ 搜索「WordPress」
2点击「安装」
3配置参数:
- 名称:自定义
- 端口:80 或 443
- 域名:你的域名
- 数据库密码:自定义
4点击「确认」→ 等待安装完成
4.2 完成 WordPress 配置
1访问你的域名
2选择语言(简体中文)
3填写站点标题、管理员账号密码
4点击「安装 WordPress」
5登录后台,开始建站!
✅ WordPress 后台地址:https://你的域名/wp-admin
4.3 WordPress 必备插件
- Akismet:垃圾评论防护
- Yoast SEO:SEO 优化
- WP Super Cache:缓存加速
- UpdraftPlus:备份插件
- Elementor:页面编辑器
五、域名解析与绑定
5.1 域名注册商解析
前往你购买域名的平台,添加 DNS 记录:
| 记录类型 | 主机记录 | 记录值 |
|---|---|---|
| A | @ | 你的服务器 IP |
| A | www | 你的服务器 IP |
5.2 使用 Cloudflare 解析(推荐)
1注册 Cloudflare 账号并添加域名
2修改域名 NS 服务器为 Cloudflare 提供的地址
3在 Cloudflare DNS 中添加 A 记录
4开启橙色云朵(启用 CDN 代理)
5.3 在 1Panel 中绑定域名
「网站」→ 选择网站 → 「设置」→「域名」:
# 添加主域名
example.com
# 添加 www 子域名
www.example.com
# 保存后等待 DNS 解析生效(通常 5-30 分钟)
💡 DNS 解析生效检测:在本地 ping 域名看是否指向你的服务器 IP。
六、配置 SSL 证书
启用 HTTPS 是现代网站的标配,1Panel 提供多种 SSL 配置方式。
6.1 Let’s Encrypt 申请(推荐)
1「网站」→ 选择网站 → 「设置」→「HTTPS」
2选择「Let’s Encrypt」
3勾选要申请证书的域名
4点击「申请」→ 等待完成
5启用「强制 HTTPS」
6.2 Cloudflare 证书(CDN 用户)
如果使用 Cloudflare CDN,建议使用 Cloudflare 提供的证书:
1Cloudflare 控制台 → SSL/TLS → 源服务器
2创建证书
3复制证书和私钥内容
41Panel 面板「HTTPS」→「手动上传」
5粘贴证书和私钥 → 保存
6.3 手动上传证书
如果已有证书文件:
# 上传证书文件
# 1. 准备两个文件:
# - 证书文件:fullchain.pem
# - 私钥文件:privkey.pem
# 2. 在 1Panel 网站设置 → HTTPS → 手动上传
# 3. 启用 HTTPS
# 使用 SSH 上传证书到服务器
scp fullchain.pem root@你的IP:/opt/1panel/apps/openresty/openresty/www/sites/你的网站/ssl/
scp privkey.pem root@你的IP:/opt/1panel/apps/openresty/openresty/www/sites/你的网站/ssl/
6.4 配置 HTTP 自动跳转 HTTPS
「网站」→ 设置 → HTTPS → 开启「强制 HTTPS」
⚠️ Let’s Encrypt 证书有效期 90 天,1Panel 会自动续期,确保服务器时间和定时任务正常。
七、反向代理部署应用
反向代理适用于部署各种 Web 应用(如 Halo、Jellyfin、Gitea 等)。
7.1 应用商店部署应用
1「应用商店」→ 搜索需要的应用(如 Halo)
2点击「安装」→ 配置端口和参数
3安装完成,记录应用端口(如 8090)
7.2 创建反向代理
1「网站」→「创建网站」→「反向代理」
2填写域名(如 halo.example.com)
3代理地址:http://127.0.0.1:应用端口
4点击「创建」
5配置 SSL 证书(同前文)
7.3 自定义反向代理配置
「网站」→ 选择代理网站 → 「配置文件」可以自定义配置:
location / {
proxy_pass http://127.0.0.1:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 缓冲设置
proxy_buffering off;
client_max_body_size 100M;
}
7.4 部署 Docker 应用
如果应用在 Docker 中运行:
# 1. 应用商店搜索 Docker Compose
# 2. 或在「容器」→「编排」中创建 docker-compose.yml
version: '3.8'
services:
halo:
image: halohub/halo:2.10
container_name: halo
restart: unless-stopped
ports:
- "8090:8090"
volumes:
- ./halo_data:/root/.halo2
# 3. 在 1Panel 中创建反向代理指向 127.0.0.1:8090
八、高级配置
8.1 网站性能优化
「网站」→ 设置 → 「性能」:
- 启用 Gzip 压缩:减少传输体积
- 启用浏览器缓存:减少重复请求
- 配置 CDN:使用 Cloudflare 加速
- 启用 HTTP/2:提升并发性能
8.2 访问日志分析
「网站」→ 选择网站 → 「日志」:
- 查看实时访问日志
- 分析错误请求
- 查看流量统计
- 下载日志备份
8.3 网站备份设置
「计划任务」→ 创建任务 → 网站备份:
1任务类型:网站备份
2选择要备份的网站
3选择备份目的地(本地 / S3 / OSS)
4设置执行周期(如每天凌晨 3 点)
5设置保留份数(建议保留 7 份)
8.4 数据库自动备份
「计划任务」→ 创建任务 → 数据库备份:
# 建议备份策略:
# - 重要数据:每天备份,保留 30 天
# - 一般数据:每周备份,保留 4 周
# - 核心数据:异地备份(多目的地)
8.5 限制 IP 访问
「网站」→ 设置 → 「安全」:
# 允许特定 IP 访问
allow 192.168.1.0/24;
allow 你的IP;
# 拒绝其他所有
deny all;
# 或在防火墙中配置
# 1Panel → 主机 → 防火墙 → IP 白名单
8.6 防盗链配置
「网站」→ 设置 → 「防盗链」:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
valid_referers none blocked yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}
九、常见问题
Q1:网站无法访问怎么办?
按以下顺序排查:
- 检查网站状态:1Panel「网站」列表中网站是否运行中
- 检查防火墙:1Panel「主机」→「防火墙」和云服务商安全组
- 检查 DNS 解析:
ping 你的域名确认是否指向正确 IP - 查看网站日志:网站详情 → 日志 → 错误日志
- 重启 OpenResty:
systemctl restart openresty
Q2:SSL 证书申请失败?
- 确认域名已正确解析到服务器
- 检查 80 端口是否可访问(Let’s Encrypt 验证需要)
- 如果是通配符证书,需要 DNS API 验证
- 查看申请日志排查错误
Q3:WordPress 提示”建立数据库连接错误”?
- 检查数据库服务是否启动
- 核对
wp-config.php中的数据库名、用户名、密码 - 检查数据库用户权限
- 确认数据库主机地址(本地使用
127.0.0.1)
Q4:网站访问慢怎么办?
- 使用 Cloudflare CDN 加速
- 开启 Gzip 压缩
- WordPress 安装缓存插件(WP Super Cache / W3 Total Cache)
- 优化图片(压缩、转为 WebP)
- 升级服务器配置(CPU、内存、带宽)
Q5:如何迁移网站到新服务器?
1在原服务器:1Panel「备份」→ 创建网站备份
2下载备份文件到本地
3在新服务器安装 1Panel
4上传备份文件并恢复
5修改 DNS 解析到新服务器 IP
Q6:反向代理 502 错误?
- 检查后端应用是否启动:
curl http://127.0.0.1:应用端口 - 确认代理地址和端口正确
- 检查 Docker 网络:容器是否绑定 0.0.0.0 而不是 127.0.0.1
- 查看 OpenResty 错误日志
⚠️ 本教程仅供学习参考,请遵守相关法律法规,合理使用服务器资源。