萤火商城应用
本教程学习内容:
如果还没有docker镜像仓库账户的,先到 阿里云容器镜像仓库注册一个账户,创建好名为yoshop的仓库,再进行下面的教程
如果未安装URLOS的话,请参考官方安装教程
使用URLOS制作萤火商城镜像
1、下载萤火商城压缩包 https://gitee.com/xany/bestshop-php下载完成后将压缩包名改名为:yoshop.zip。
2、使用sftp工具登录安装有URLOS的云主机(URLOS的安装请参考官方教程),并上传程序压缩包yoshop.zip到目录/home。
3、因为萤火商城官方建议PHP7.1环境,所以我们需要运行一个PHP7.1的容器,执行以下命令:
docker run -itd --name=yoshop registry.cn-shanghai.aliyuncs.com/urlos/php-fpm:7.1-nginx-ubuntu
# 运行php7.1的容器,其中yoshop为容器的名字,可以自定义
创建容器失败的情况:如果是端口冲突,换一个端口;如果是容器名字冲突,换一个容器的名字或者删除已存在的容器。查看所有容器:“docker ps -a”,删除容器:执行命令“docker rm -f 容器id”。
4、将压缩包复制到容器里并进入容器
docker cp /home/yoshop.zip yoshop:/home # 复制压缩包到名为yoshop的容器里
docker exec -it yoshop bash # 进入容器
5、安装unzip解压工具
apt install unzip -y # 如果没有unzip的话,执行这个安装命令。执行unzip,如果输出 unzip: command not found 表示需要安装
6、退出容器并将容器保存为镜像
exit # 退出容器
docker commit yoshop registry.cn-shanghai.aliyuncs.com/urlos4/yoshop:1.0.15 # 保存名为yoshop的容器为镜像
注:这里的urlos4为命名空间,registry.cn-shanghai.aliyuncs.com为阿里仓库线路的域名,请根据自己实际的替换
7、上传镜像
docker login --username=你的用户名 registry.cn-shanghai.aliyuncs.com # 登录到阿里云容器镜像仓库
docker push registry.cn-shanghai.aliyuncs.com/urlos4/yoshop:1.0.15 # 上传到仓库
注:这里的urlos4为命名空间,registry.cn-shanghai.aliyuncs.com为阿里仓库线路的域名,请根据自己实际的替换
添加镜像到URLOS
1、选择镜像管理 ,点击页面右上角添加按钮:
2、选择镜像管理 ,点击页面右上角添加按钮:
镜像名称:urlos4/yoshop:1.0.15,镜像地址:registry.cn-shanghai.aliyuncs.com/urlos4/yoshop:1.0.15
注:这里的urlos4为命名空间,registry.cn-shanghai.aliyuncs.com为阿里仓库线路的域名,请根据自己实际的替换
3、登录帐户
4、填写镜像大小,执行以下命令可查看本地仓库中显示的镜像大小
docker images
配置填写后,点击提交,保存到URLOS。
基于添加的镜像创建萤火商城应用
1、我们先复制一个应用,然后通过修改复制的应用成为萤火商城。因为我们制作的萤火商城的镜像是基于PHP7.1,所以找一个PHP7.1的网站环境应用进行复制。进入应用管理页面,搜索"php7.1",找到需要复制的应用,选择更多->复制应用 ,如下图:
2、在基本信息选项卡,修改应用别名,选择我们刚才添加的镜像,修改描述
3、切换到标签选项卡,标签填写如下:
4、切换到开发者选项卡,填写如下:
5、切换到扩展设置选项卡,服务别名填写如下:
6、切换到脚本设置选项卡,添加安装脚本如下:
# 安装脚本
test -d /data/www || mkdir -p /data/www
if [ $(find /data/www/ -name "*.php" -type f|wc -l) -lt 5 ]; then
cd /home
unzip -q yoshop.zip -d /data/www
mv /data/www/bestshop-php /data/www/yoshop
chmod -R 777 /data/www/yoshop
cp /data/www/yoshop/doc/database/install.sql /data/urlos-app-init.sql
fi
7、切换到使用帮助选项卡,修改使用帮助如下:
按照上面的配置填写后,点击提交。
8、设置萤火小程序商城的数据库配置模板文件:
模板信息填写如下:
模板标识 :
yoshop:database.php
软件版本:
latest
目标替换文件:
/data/www/yoshop/source/application/database.php
模板内容:
<?php
// 数据库配置
// urlos扩展变量,通过urlos插件解析
$config = [
'host' => '{w:dbHost:w}',
'database' => '{w:dbName:w}',
'username' => '{w:dbUser:w}',
'password' => '{w:dbPassword:w}',
'port' => '{w:dbPort:w}',
'charset' => 'utf8',
];
return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => $config['host'],
// 数据库名
'database' => $config['database'],
// 用户名
'username' => $config['username'],
// 密码
'password' => $config['password'],
// 端口
'hostport' => $config['port'],
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => $config['charset'],
// 数据库表前缀
'prefix' => 'yoshop_',
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型
'resultset_type' => 'collection',
// 自动写入时间戳字段
'auto_timestamp' => true,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 是否需要进行SQL性能分析
'sql_explain' => false,
];
提交保存模板。
9、添加完模板后,在模板列表中点击右上角的管理扩展变量进入扩展变量列表。
点击添加变量
配置信息:
变量名称: installAppTips
标签名称: 安装提示
输入类型: 输入提示
输入提示: [
"后台登录账户:admin 密码:yinghuo",
"下载小程序端源码:https://gitee.com/xany/yoshop_wechat"
]
禁止修改: 勾选
输入步骤: 第1步
提交保存。
10、返回到扩展变量列表,修改数据库字符集扩展变量,如图:
选项内容设置如图:
提交保存。
这样萤火商城应用创建完成。
安装萤火商城应用并测试
1、在应用管理列表找到刚才新添加的萤火商城应用,选择更多->创建服务
2、创建服务填写如下:
3、切换到网站选填步骤,填写网站索引目录:yoshop/web
4、然后切换到Nginx配置步骤,填写如下:
location区块扩展内容:
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
按照上面的配置填写后,提交部署。
后台登录账户:admin 密码:yinghuo
下载小程序端源码:https://gitee.com/xany/yoshop_wechat
部署完成后,在浏览器访访问刚才填写的网站域名/IP+端口号,如图:
登录后如图: