LOADING
1267 字
6 分钟
爪云容器一拖 N 个 wordpress 站点 / 静态站点,直接做成共享主机
2026-01-29
2020-02-02
  • 如果走正常的模板创建的话… 首先,我们先来看看在官方的「容器模板市场」中,创建一个 WordPress 要花多少资源。 创建成功之后,可以看有一个 WordPress 应用容器 + MySQL 数据库。 这套最小部署,资源配额大致是 0.4C / 0.4R / 1G 起步;其中数据库另外还需要 0.4C / 0.4R / 3G 存储。 好家伙,这套配置直接 0.18 0.18 ~ 0.2 /天,免费的月赠 $5,跑一个月根部不够用!

思路打开 既然我们看到官方的模板做法是:一个 PHP 解释器容器 + 一个数据库。那么数据库这块,完全可以走我们自己的白嫖数据库。 1、选一款免费云数据库 or 使用本地数据库 SQLite 这里我推荐 TiDB,其他的 mysql 没测试过。 2、改造 PHP 解释器 PHP 解释器容器这块,因为爪云自带的的文件管理面板,实在太难用了! 没有多文件上传功能 不能解压缩,要开 terminal 用 tar 工具 默认 root 权限,不能直接更改文件/文件夹权限,要开 terminal 更改权限 无法在线编辑 于是,我改造了 webdevops/php-nginx ,加入了 filebrowser 文件管理面板。 filebrowser 文件管理面板 配置容器 以下是教程基于改造后的镜像,进行单站/多站点的演示 注意这里的 Configmaps,路径要写 /opt/docker/etc/nginx/vhost.conf 内容可以先空着,下面有单站点、多站点的模板。 至此,共享主机容器已经建成。 打开你的 8080 端口外链访问域名,你可以进入 filebrowser 文件管理面板。 用户名 admin 密码在容器的 log 日志中。 此时,打开你的 80 端口外链访问域名,只能看到一个 403 页面。因为我们尚未配置任何站点。 配置单站点 我们只需要将 /opt/docker/etc/nginx/vhost.conf 配置成你的 Pubulic Access 即可开启一个站点。 vhost.conf 单站点模板 `#/opt/docker/etc/nginx/vhost.conf 的模板 server { listen 80; listen [::]:80;

# 替换成你的 80 端口外链访问域名,注意不要加http://或者https://
server_name <外链访问域名>;
# 替换成你的站点文件夹名字
root "/app/<的站点文件夹名字>";
index index.php;
include /opt/docker/etc/nginx/vhost.common.d/*.conf;

}进入 8080 映射出的 filebrowser 文件管理面板,上传你的 WordPress 下载解压后的安装文件夹中全部文件。 这里假设文件夹名为 wordpress,接着需要修改以上 vhost.conf 的 root 路径。root “/app/wordpress”;` 接着重启容器,再次打开你的 80 端口外链访问域名,就可以看到 WordPress 安装页面了。 配置多站点 下面我们来创建多个 PHP 站点,这里依然以 wordpress 举例。

获取 80 端口外链访问的域名 首先,需要再映射出几个端口,获取端口外链访问的域名。

比如我这里就创建了 3 个端口 80 81 82,对应我的三个 wordpress 站点。

修改 vhost.conf 中的站点配置 修改 /opt/docker/etc/nginx/vhost.conf。部署几个站点,就增加几个配置。 vhost.conf 多站点模板 `#/opt/docker/etc/nginx/vhost.conf 多站点模板 server { listen 80; listen [::]:80; # igapusrsvyky.ap-northeast-1.clawcloudrun.com 需要替换成你自己的端口映射出来的域名,注意不要加http://或者https:// server_name igapusrsvyky.ap-northeast-1.clawcloudrun.com; root “/app/”; index index.php; include /opt/docker/etc/nginx/vhost.common.d/*.conf; }

server { listen 81; listen [::]:81; server_name ccapusrsvyky.ap-northeast-1.clawcloudrun.com; root “/app/”; index index.php; include /opt/docker/etc/nginx/vhost.common.d/*.conf; }

server { listen 82; listen [::]:82; server_name gggusrsvyky.ap-northeast-1.clawcloudrun.com; root “/app/”; index index.php; include /opt/docker/etc/nginx/vhost.common.d/*.conf; }` 上传站点文件 打开你的 8080 端口外链访问域名,你可以进入 filebrowser 文件管理面板。

创建站点文件夹,上传站点文件。可以是 php 也可以是静态页面,静态页面需要把 server {} 块中的 index index.php; 替换成 index index.html

修改完成后,启动容器。可以看点 3 个站点都启动成功了。 至此,多站点部署也已经完成。

总结 使用这套方案的几个优势:

所有站点都部署在一个容器中,不会占用爪云的其他容器,也不用开 terminal 再占用一个容器。(免费版上限仅4个,请看新政策:backhand_index_pointing_down:) 需要登录保活!爪云容器又出新政策了… 部署任意 PHP 站点 / 静态站点 可以更方便的 上传文件、删除文件、编辑文件 因为使用的是云数据库、和本地数据库(在站点文件夹内找 sql 文件夹,自己下载备份),即使爪云跑路我们也不怕站点数据丢失 更省资源,CPU\RAM\HDD\域名资源,随时可以调整,吃干抹净 $5 的赠金 镜像自带 Composer v2 版本。可以通过爪云的 Command 通过 composer 命令部署一些必须用 Composer 安装/更新才能跑起来的复杂站点,有兴趣的自己去研究。 当然,更建议套一个 CF tunnel,关闭爪云的外网端口映射,只留一个 8080 filebrowser 文件管理面板走外网,其他全部走内网 80 端口,继续白嫖大善人的攻击防御、CDN 加速等功能。

爪云容器一拖 N 个 wordpress 站点 / 静态站点,直接做成共享主机
https://boke.let.gs/posts/features/
作者
尘封
发布于
2026-01-29
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

Profile Image of the Author
尘封
Hi
Announcement
Welcome to my blog!