URLOS实战进阶—制作萤火小程序商城应用

URLOS实战进阶—制作萤火小程序商城应用

1、使用ssh登录宿主主机,创建Dockerfile文件并填充以下内容

 FROM urlos4/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

2、执行以下命令,生成docker镜像

 docker build -t urlos4/shop:yoshop-latest-fpm-alpine .

3、运行镜像并且进入容器

 ​
 docker run -itd --name yoshop001 -p 8088:80 urlos4/shop:yoshop-latest-fpm-alpine
 docker exec -it yoshop001 sh
 cd /home
 tar czf yoshop.tar.gz
 mv yoshop /var/www/html/ # 将程序剪切到网站目录

4、配置niginx虚拟站点

 vi /etc/nginx/conf.d/default.conf

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;
    }
 }
 ​

5、启动nginx、php程序。

 test -d /run/nginx || mkdir /run/nginx
 nginx
 php-fpm -D

6、通过浏览器访问站点,http://ip:8088/

若访问站点出现错误:mkdir(): Permission denied,请执行如下命令:

 chmod -R 777 /var/www/html/yoshop/

7、测试无误后,上传镜像到docker云端。

 ​
 docker login # 已登录,可忽略
 docker push urlos4/shop:yoshop-latest-fpm-alpine # 将本地镜像推送到docker云

登录URLOS,添加镜像。

点击提交。

8、制作yoshop应用。如图:

点击提交。

9、设置yoshop程序的数据库配置模板文件,如图:

<?php
// 数据库配置
$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,
];

10、设置nginx站点配置,如图:

11、添加扩展变量,如图:

点击提交。

12、修改数据库字符集扩展变量,如图:

13、安装yoshop应用,进行检测。