3.1 创建网站的几种方式:一键部署、运行环境、反向代理、静态与子网站
一句话回答
六种创建方式覆盖所有场景:想省事发「一键部署」,自己写的代码用「运行环境」,服务跑在别的端口用「反向代理」,纯静态页面用「静态网站」,多入口共用代码用「子网站」,非 HTTP 服务用「TCP/UDP 代理」。
创建前:先认识公共参数
不管选哪种方式,创建表单里都有一些公共字段。先认识它们,后面每种方式就只剩差异部分:
| 参数 | 含义与填法 |
|---|---|
| 分组 | 网站所属的分组,方便批量管理(如「客户A」「内部」) |
| 主域名 | 主要绑定的域名及端口,如 www.example.com |
| 其他域名 | 附带绑定的域名,可多个 |
| 监听 IPv6 | 开启后可通过 IPv6 接收请求 |
| 代号 | 网站目录的文件夹名称,如 myblog |
| 启用 HTTPS | 建站时直接开 HTTPS 并选证书(3.3 节) |
| 备注 | 这个站是干什么的,多站时必填 |
| 创建 FTP | 建站同时建一个 FTP 账户,目录指向站点目录 |
| 创建数据库 | 建站同时建数据库(运行环境方式才有) |
代号的含义注意:它不只是个标签,而是服务器上真实的目录名。网站文件默认就在安装目录下的 www/sites/[代号] 里(路径以你安装时的目录为准),上传代码、查日志都找这里。
方式一:一键部署(最省心)
适合:WordPress、Halo 这类应用商店里有的现成应用。
操作路径:网站 → 创建网站 → 一键部署。表单里选「已安装的应用」或「新安装应用」(新装需要填应用参数),再填主域名、代号等信息即可。本质上是一键部署 = 应用商店装应用 + 自动建网站绑定域名,两步并一步。
| 参数 | 说明 |
|---|---|
| 应用类型 | 已安装的应用 或 新安装应用 |
| 应用参数 | 选新安装时才需要填(数据库密码等) |
| 其它 | 分组、主/其他域名、代号、启用 HTTPS、备注 |
第一次建站的新手,强烈建议从一键部署 WordPress 开始:五分钟就能看到一个能打开、能发文章的网站,理解了「网站 = 域名 + 目录 + 应用」之后,再回头看其它方式就轻松了。
方式二:运行环境(放自己的代码)
适合:自己开发的 PHP / Java / Node.js / Go / Python / .NET 程序。
先在「运行环境」里建好环境(3.2 节细讲),创建网站时选这个环境,面板会把域名和端口映射到你的应用上。
| 参数 | 说明 |
|---|---|
| 类型 | 运行环境类型 + 具体某个已创建的运行环境 |
| 端口 | 网站服务端口 |
| 创建 FTP | 可选,同时建 FTP 账户 |
| 创建数据库 | 可选,同时建数据库(PHP 网站常用) |
一个常见误区:很多人在这一步卡住,是因为没先建运行环境。顺序是先环境后网站——就像先通电再开灯。
方式三:反向代理(转发到别的服务)
适合:服务跑在其它端口、其它容器、甚至其它机器上,你想用一个域名统一入口。
| 参数 | 说明 |
|---|---|
| 代理地址 | 已有服务的地址,也可以直接从「已安装应用」列表里选 |
反向代理的理解:它像公司的前台转接——你说「找技术部」,前台把电话转到对应分机。用户访问 www.example.com,OpenResty 把请求转到你填的代理地址上。典型用途:
- 容器里跑了一个 Node 服务(端口 3000),想用 443 端口 + 域名访问;
- 一台机器上多个服务,每个服务一个子域名,统一走 HTTPS。
网站配置里还有进阶的反向代理和负载均衡:可以配置多个上游服务器、权重、失败次数、连接数、失败超时等参数,把请求分发到多台后端(网站 → 配置 → 反向代理/负载均衡)。
方式四:静态网站(纯文件)
适合:官网落地页、文档站、博客生成器产物(Hexo、Hugo 输出的纯 HTML)。
没有数据库、没有后端,把 HTML/CSS/JS 文件传到网站目录就能访问。最简单的一种,也是占用最低的一种。静态网站建好后,后续还可以通过网站配置里的 PHP 选项,选择一个 PHP 运行环境,把它切换成 PHP 类型网站——不用重建。
方式五:子网站(共用一套代码)
适合:一个目录下有多个子站点,想分别绑域名。
比如主站在 /var/www/mainsite,手机版在 /var/www/mainsite/mobile,你可以给 mobile 目录建一个子网站,绑 m.example.com。
| 参数 | 说明 |
|---|---|
| 父级网站 | 已有的 PHP 或静态网站 |
| 运行目录 | 父级网站运行目录下的子目录 |
注意官方限制:子网站只能选已存在的 PHP 和静态网站的目录,其它类型不支持。
方式六:TCP/UDP 代理(非 HTTP 服务)
适合:数据库、消息队列等非 Web 服务的端口转发。
| 参数 | 说明 |
|---|---|
| 监听端口 | 对外监听的端口,多个用英文逗号分隔 |
| UDP | 开启用 UDP,默认 TCP |
| 负载均衡 | 多个上游服务器 + 权重/失败次数/连接数/失败超时 |
| 监听 IPv6 | 按服务器网络配置决定 |
两条官方提醒:
- 版本要求:TCP/UDP 代理使用 OpenResty Stream 模块,要求 OpenResty 不低于
1.27.1.2-3-3-focal,不满足时页面会禁止创建。 - 端口与访问控制:创建前确认监听端口未被占用,并在主机防火墙和云安全组中放行。TCP/UDP 代理不提供 HTTPS 配置,加密由上游协议自己负责。
建好之后:网站列表能干什么
网站列表支持按类型、分组、名称筛选,显示每个网站的类型、目录、状态、协议和到期时间。常用操作:
| 操作 | 说明 |
|---|---|
| 启动 / 停止 | HTTP 网站可直接启停 |
| 配置 | 进入网站配置页面(下面细讲) |
| 备份 / 恢复 | 3.4 节专讲 |
| 删除 | 谨慎操作 |
| 分组 / 默认设置 / 批量操作 | 多站管理 |
多节点环境下,网站及其 OpenResty、目录和证书都属于当前节点——操作前看一眼节点选择器(单机用户忽略)。
网站配置:一个页面管所有细节
在网站列表点【配置】,页面分 基本、日志、资源 三个标签。「基本」标签按网站类型显示以下配置项:
| 配置 | 干什么 |
|---|---|
| 域名 | 管理绑定的域名和端口 |
| 网站目录 | 查看根目录、设置运行目录、运行用户/用户组 |
| 默认文档 | 访问根目录时自动加载哪个文件(如 index.html) |
| 流量限制 | 限制带宽和访问流量 |
| 反向代理 / 负载均衡 | 转发请求、多后端分发,可配代理缓存规则 |
| 密码访问 | 给网站加访问密码(全局或按路径) |
| CORS | 跨域配置:允许的来源、方法、请求头 |
| HTTPS | 证书、HTTP 跳转、HSTS、HTTP3 |
| 真实 IP | 识别访客真实 IP(套 CDN 时关键) |
| 伪静态 | 动态 URL 转友好静态 URL,利于 SEO |
| 防盗链 | 阻止别的网站直接链接你的资源 |
| 重定向 | URL 跳转 |
| PHP | 静态站切 PHP 站、PHP 站换运行环境 |
| 关联资源 | 关联数据库,备份网站时同时备份数据库 |
| 其他 | 改主域名、换分组、改备注 |
「资源」标签关联数据库那条值得强调:关联后备份网站会同时备份数据库——这是「整站备份」的正确姿势(3.4 节)。注意官方提醒:切换关联数据库会导致以前的备份无法恢复,切换前三思。
决策树:不知道选哪个就这样选
是现成应用(WordPress/Halo…)? → 一键部署
自己写的代码?
├─ PHP / Java / Node / Go / Python / .NET → 运行环境
服务跑在别的端口/容器? → 反向代理
纯静态页面? → 静态网站
已有网站目录下再开一个站? → 子网站
非 HTTP 服务(数据库/MQ)? → TCP/UDP 代理
本节要点
- 六种创建方式:一键部署、运行环境、反向代理、静态网站、子网站、TCP/UDP 代理;
- 公共参数:分组、主/其他域名、代号(真实目录名)、HTTPS、备注;
- 运行环境方式要先建环境再建网站;子网站只能基于 PHP/静态网站目录;
- TCP/UDP 代理要求 OpenResty ≥
1.27.1.2-3-3-focal,且不提供 HTTPS; - 网站配置在列表的【配置】里:域名、目录、HTTPS、伪静态、防盗链、关联数据库等一应俱全;
- 关联数据库后备份才能整站备份,但切换关联数据库会让旧备份无法恢复。
更细的参数说明见《1Panel 官方文档:功能手册》中的「创建网站」与「网站配置」两节。
下一步:运行环境怎么管——PHP 版本、扩展、配置的一次性搞定。
