• Linux
  • apache
  • centos
  • Git版本管理
  • Linux基本命令
  • linux配置与优化
  • Nginx
  • PHP
  • Redis
  • Supervisor
  • Swoole
  • windows
  • THINKPHP
  • 开发者手册
  • Chat GPT / Open Ai
  • 使用Docker创建Hyperf项目

    全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:925篇文章
  • 发布时间:2021年09月07日 23:45:09
  • 所属分类:Hyperf
  • 阅读次数:1780次阅读
  • 标签:
  • 文章目录

    安装Hyperf开发容器

    安装Composer

    创建项目,以下命令都是在容器内部执行

    配置项目

    开发环境下的热更新

    数据表设计

    创建表

    数据填充

    运行迁移

    项目源码

    安装Hyperf开发容器

    docker run -d --name user_center \
      --restart=always \
      #映射到宿主机目录,这样我们就直接在/home/wwwroot/user_center开发
      -v /home/wwwroot/user_center:/hyperf-skeleton \ 
      # 9501提供http服务,9504提供json-rpc服务
      -p 9501:9501 -p 9504:9504 \ 
      -it --entrypoint /bin/sh \
      hyperf/hyperf:7.3-alpine-cli

    安装Composer

    docker exec -it user_center bash #进入容器
    #下载COMPOSER
    wget https://github.com/composer/composer/releases/download/1.9.0/composer.phar
    #修改为可执行
    chmod u+x composer.phar
    #复制到/usr/local/bin/ 这样就可以直接运行composer 命令
    mv composer.phar /usr/local/bin/composer
    #修改仓库地址为阿里云
    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

    创建项目,以下命令都是在容器内部执行

    cd /hyperf-skeleton
    composer create-project hyperf/hyperf-skeleton=1.1.* #直接一路回车不安装附加组件

    安装需要用到的组件

    composer require illuminate/hashing gregwar/captcha \ hyperf/validation hyperf/translation hyperf/constants phper666/jwt-auth:~2.0.1 hyperf/config-aliyun-acm hyperf/json-rpc hyperf/rpc-server

    illuminate/hashing laravel的hash组件

    gregwar/captcha 验证码组件

    hyperf/validation 官方验证组件

    hyperf/translation 多种语言组件

    hyperf/translation 官方枚举类

    phper666/jwt-auth JWT组件

    hyperf/config-aliyun-acm 阿云配置中心组件

    hyperf/json-rpc hyperf/rpc-server 官方RPC服务组件

    发布组件配置

    php bin/hyperf.php jwt:publish --config
    php bin/hyperf.php vendor:publish hyperf/translation
    php bin/hyperf.php vendor:publish hyperf/validation

    配置项目

    编辑项目根目录的.env文件,配置好数据库和redis

    APP_NAME=user_center
    
    DB_DRIVER=mysql
    DB_HOST=192.168.137.200
    DB_PORT=3306
    DB_DATABASE=user_center
    DB_USERNAME=root
    DB_PASSWORD=123456
    DB_CHARSET=utf8mb4
    DB_COLLATION=utf8mb4_unicode_ci
    DB_PREFIX=
    
    REDIS_HOST=192.168.137.200
    REDIS_AUTH=(null)
    REDIS_PORT=6379
    REDIS_DB=0

    开发环境下的热更新

    下载https://github.com/ha-ni-cc/hyperf-watch里的watch文件到项目根目录,然后启动只需要执行php watch,这样我们修改文件,就会自动重启进程

    数据表设计

    创建表

    目前我们只创建了两个表user和wx_user详见迁移文件

    user表

    https://github.com/donjan-deng/la-user-center/blob/master/migrations/2019_10_31_100142_create_user_table.php

    wx_user表

    https://github.com/donjan-deng/la-user-center/blob/master/migrations/2019_10_31_100153_create_wx_user_table.php

    数据填充

    我们初始化了一个管理员帐号

    https://github.com/donjan-deng/la-user-center/blob/master/seeders/user_table_seeder.php

    运行迁移

    创建数据库

    php bin/hyperf.php migrate

    填充数据

    php bin/hyperf.php db:seed

    有关数据迁移的使用方法可参阅官方文档https://hyperf.wiki/#/zh/db/migration

    项目源码

    项目源码已发布到github https://github.com/donjan-deng/la-user-center

    《PHP微服务练兵》系列索引:https://blog.csdn.net/donjan/article/details/103005084

    顶一下
    (0)
    100%
    订阅 回复
    踩一下
    (0)
    100%
    » 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。
  • 【上一篇】
  • 【下一篇】
  • 目前有 0 条留言 其中:访客:0 条, 博主:0 条

    给我留言

    您必须 [ 登录 ] 才能发表留言!