萤火虫商城应用
本教程学习内容:
如果还没有docker镜像仓库账户的,先到 阿里云容器镜像仓库注册一个账户,创建好名为php的仓库,再进行下面的教程
使用URLOS制作萤火虫商城镜像
使用ssh登录安装有URLOS的云主机(URLOS的安装请参考官方教程)。
创建Dockerfile文件,并填入以下内容:
FROM registry.cn-shanghai.aliyuncs.com/urlos/php:5.6-fpm-alpine
RUN apk add git \
&& cd /home && git clone https://gitee.com/xany/bestshop-php.git \
&& mv bestshop-php yoshop \
&& tar czf yoshop.tar.gz yoshop \
&& rm -rf yoshop/ \
&& apk del git
执行以下命令(包括最后面的”.”),生成docker镜像:
docker build -t registry.cn-shanghai.aliyuncs.com/urlos4/yoshop:latest-fpm-alpine .
注:这里的urlos4为命名空间,registry.cn-shanghai.aliyuncs.com为阿里仓库线路的域名,请根据自己实际的替换
运行镜像并进入容器,命令如下:
docker run -itd --name yoshop001 -p 8080:80 registry.cn-shanghai.aliyuncs.com/urlos4/yoshop:latest-fpm-alpine # 创建容器的命令 对外端口是8080,根据情况自己填写合适的端口
docker exec -it yoshop001 sh # 进入容器的命令
cd /home # 进入home目录
tar xzf yoshop.tar.gz
mv yoshop /var/www/html/ # 将程序剪切到网站目录
创建容器失败的情况:如果是端口冲突,换一个端口;如果是容器名字冲突,换一个容器的名字或者删除已存在的容器。查看所有容器:“docker ps -a”,删除容器:执行命令“docker rm -f 容器id”。
配置Nginx的虚拟站点:
vi /etc/nginx/conf.d/default.conf
输入以下配置:
server {
listen 80 default_server;
root /var/www/html/yoshop/web/;
index index.php index.html;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.(php|phtml)$ {
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
}
}
授予var/www/html/fastadmin/application/database.php权限,并启动nginx、php:
chmod -R 777 /var/www/html/yoshop/
test -d /run/nginx || mkdir /run/nginx
nginx
php-fpm -D
通过浏览器访问ip+端口(例子这里是8080),如图:
确认无误后,能够正常打开这个页面后:
docker rm -f 容器id # 删除刚才用于检查测试的容器
docker login --username=您的用户名 registry.cn-shanghai.aliyuncs.com # 登录到阿里云容器镜像仓库
docker push registry.cn-shanghai.aliyuncs.com/urlos4/yoshop:latest-fpm-alpine # 上传到仓库
注:这里的urlos4为命名空间,registry.cn-shanghai.aliyuncs.com为阿里仓库线路的域名,请根据自己实际的替换
添加镜像到URLOS
登录URLOS, 未安装URLOS的,请参考官方教程
选择镜像管理 ,点击页面右上角添加按钮:
registry.cn-shanghai.aliyuncs.com/urlos4/yoshop:latest-fpm-alpine
注:这里的urlos4为命名空间,registry.cn-shanghai.aliyuncs.com为阿里仓库线路的域名,请根据自己实际的替换
填写镜像大小,执行以下命令可查看本地仓库中显示的镜像大小
docker images
配置填写后,点击提交,保存到URLOS。
基于添加的镜像创建萤火虫商城应用
进入应用管理页面,搜索”php5.6“,这里以应用”5.6-fpm-alpine3.8“为例,选择复制应用
应用配置填写
下面步骤填写项默认:
开发者信息,根据实际情况填写:
扩展设置填写如下:
脚本设置如下:
# 安装脚本
test -d /etc/nginx/conf.d/ || mkdir -p /etc/nginx/conf.d/
test -d /run/nginx || mkdir -p /run/nginx
test -d /var/tmp/nginx && chown -R nobody:nobody /var/tmp/nginx
test -d /data/www || mkdir -p /data/www
if [ ! -d /data/www/yoshop ]; then
cd /home
tar xf yoshop.tar.gz && mv yoshop /data/www && rm -rf ./yoshop
chmod -R 777 /data/www/yoshop
fi
# 启动脚本
php-fpm -D
nginx
按照上面的配置填写后,点击提交。
设置yoshop程序的数据库配置模板文件:
模板信息填写如下:
模板标识 :
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,
];
添加扩展变量
配置信息:
变量名称: installAppTips
标签名称: 安装提示
输入类型: 输入提示
输入提示: [
"创建服务完成后,请手动导入数据库数据(/www/yoshop/doc/database/install.sql)",
"后台登录账户:admin 密码:yinghuo",
"下载小程序端源码:https://gitee.com/xany/yoshop_wechat"
]
禁止修改: true
输入步骤: 第1步
修改数据库字符集扩展变量,如图:
这样萤火虫商城应用创建完成。
安装萤火虫商城应用并测试
在应用管理列表找到刚才新添加的萤火虫商城应用,选择创建服务
1、2、3步骤填写如下:
切换到网站选填步骤,填写网站根目录:
然后切换到Nginx配置步骤,填写如下:
伪静态配置:
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
运行模式选择兼容模式!!! 运行模式选择兼容模式!!! 运行模式选择兼容模式!!!
按照上面的配置填写后,提交部署。
创建服务完成后,请手动导入数据库数据(/www/yoshop/doc/database/install.sql)
后台登录账户:admin 密码:yinghuo
下载小程序端源码:https://gitee.com/xany/yoshop_wechat
部署完成后,在浏览器访访问刚才填写的网站域名+端口号,如图:
登录后如图: