- 如果走正常的模板创建的话… 首先,我们先来看看在官方的「容器模板市场」中,创建一个 WordPress 要花多少资源。 创建成功之后,可以看有一个 WordPress 应用容器 + MySQL 数据库。 这套最小部署,资源配额大致是 0.4C / 0.4R / 1G 起步;其中数据库另外还需要 0.4C / 0.4R / 3G 存储。 好家伙,这套配置直接 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/
server {
listen 81;
listen [::]:81;
server_name ccapusrsvyky.ap-northeast-1.clawcloudrun.com;
root “/app/
server {
listen 82;
listen [::]:82;
server_name gggusrsvyky.ap-northeast-1.clawcloudrun.com;
root “/app/
创建站点文件夹,上传站点文件。可以是 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 加速等功能。
部分信息可能已经过时