使用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://blog.csdn.net/donjan/article/details/103005084

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤使用 Docker 部署 Hyperf 框架: 1. 首先,确保已经安装了 DockerDocker Compose。你可以根据你的操作系统文档进行安装。 2. 创建一个新的项目目录,并在该目录下创建一个名为 `Dockerfile` 的文件。 3. 在 `Dockerfile` 文件中添加以下内容: ``` FROM php:7.4-fpm # 安装所需的扩展 RUN docker-php-ext-install pdo_mysql RUN pecl install swoole && docker-php-ext-enable swoole # 复制项目文件到容器 COPY . /var/www WORKDIR /var/www # 安装依赖 RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer RUN composer install --no-dev CMD ["php", "hyperf.php", "start"] ``` 这个 `Dockerfile` 的基础镜像是 `php:7.4-fpm`,并在其中安装了 Hyperf 所需的扩展和依赖项。你也可以根据自己的需求进行修改。 4. 在项目目录中创建一个名为 `docker-compose.yml` 的文件,并将以下内容添加到文件中: ``` version: '3' services: app: build: context: . dockerfile: Dockerfile volumes: - .:/var/www ports: - 9501:9501 ``` 这个 `docker-compose.yml` 文件定义了一个名为 `app` 的服务,它使用刚刚创建的 `Dockerfile` 构建镜像,并将项目目录映射到容器中的 `/var/www` 目录。此外,它还将容器的 9501 端口映射到主机的 9501 端口。 5. 使用以下命令启动容器: ``` docker-compose up -d ``` 这将构建镜像并启动容器。你可以使用 `-d` 参数来在后台运行容器。 现在,你的 Hyperf 应用程序应该已经在 Docker 容器中成功部署了。你可以通过访问 `http://localhost:9501` 来访问它。 请注意,上述步骤仅提供了一个简单的部署示例,你可能需要根据你的实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值