使用Docker创建Hyperf项目
文章目录
安装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://www.geek-share.com/detail/2790050496.html
- 点赞
- 收藏
- 分享
- 文章举报
- 使用Dockerfile构建MyEclipse创建的JavaWeb项目 - 知识林
- Docker部署运行SpringBoot项目,使用Dockerfile创建镜像
- 使用Dockerfile构建MyEclipse创建的JavaWeb项目
- 在VS2005下使用Visual C++创建智能设备项目 “项目创建失败” 解决办法
- vs(2005 and 2008)中使用vc++创建智能设备项目失败的正确解决方案
- 使用starling 创建项目
- 使用maven创建新项目出现Unable to determine the release vers
- 创建自定义行为并在Silverlight项目中使用
- 使用Maven2快速创建项目
- 使用NDK创建及配置C++程序(原生纯C++项目,不包含JAVA代码)
- 如何使用eclipse创建项目
- [使用心得]maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之jetty篇(二)
- 使用SVN创建Android项目时发生空包丢失(吐槽)
- maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之jetty篇(三)
- VS2008创建C++项目——使用dll文件
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建项目
- [原译]如何创建WPF用户控件&在WPF项目中使用
- 如何使用Android ADT 20创建新项目
- 学习使用NHibernate2.1.0Beta1(四)— 创建数据访问项目DAL
- 使用Maven2快速创建项目