1Panel 部署网站详细教程

1Panel 部署网站详细教程

从零开始学会使用 1Panel 部署各种类型的网站

一、部署前准备

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 面板中:「主机」→「防火墙」放行以下端口:

端口用途
80HTTP
443HTTPS
8080备用 HTTP

同时记得在云服务商安全组中放行这些端口!

二、部署静态网站

静态网站是最简单的部署方式,适合 HTML/CSS/JS 单页应用或编译后的前端项目。

2.1 创建网站

1登录 1Panel 面板,点击左侧菜单「网站」→「创建网站」

2选择网站类型:「静态网站」

3填写主域名(如 example.com,没有域名可填服务器 IP)

4选择协议:HTTP(暂时),HTTPS 后面再配置

5设置网站根目录(默认即可)

6点击「创建」按钮

2.2 上传网站文件

网站创建后,有两种方式上传文件:

方式一:使用面板上传

  1. 进入「网站」→ 找到刚创建的网站 → 点击「网站目录」
  2. 在 1Panel 文件管理器中上传你的网站文件
  3. 确保 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
Awww你的服务器 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:网站无法访问怎么办?

按以下顺序排查:

  1. 检查网站状态:1Panel「网站」列表中网站是否运行中
  2. 检查防火墙:1Panel「主机」→「防火墙」和云服务商安全组
  3. 检查 DNS 解析:ping 你的域名 确认是否指向正确 IP
  4. 查看网站日志:网站详情 → 日志 → 错误日志
  5. 重启 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 错误日志

⚠️ 本教程仅供学习参考,请遵守相关法律法规,合理使用服务器资源。

Leave a Reply

Your email address will not be published. Required fields are marked *