为什么要使用hyperf镜像呢?
Hyperf对swoole有版本要求,而swoole对当前环境也有要求,可能需要安装多个版本PHP,以及其他配置,与其在你的本地搞来搞去,还不
如直接使用docker容器来开发
hyperf项目,开箱即用,
https://hub.docker.com/r/hyperf/hyperf/tags
镜像大小只有30M左右。
docker pull hyperf/hyperf:latest
docker images
# 下载并运行 hyperf/hyperf 镜像,使用host网络便于连接我的本机mysql镜像。
docker run --name hyperf --network host -v /data/www/hyperf:/hyperf-skeleton -p 9501:9501
-it --entrypoint /bin/sh hyperf/hyperf:latest
# 镜像容器运行后,在容器内安装 Composer
wget https://github.com/composer/composer/releases/download/1.8.6/composer.phar
chmod u+x composer.phar
mv composer.phar /usr/local/bin/composer
# 将 Composer 镜像设置为阿里云镜像,加速国内下载速度
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
# 通过 Composer 安装 hyperf/hyperf-skeleton 项目
cd /
composer create-project hyperf/hyperf-skeleton
如果遇到报错
Script Installer\Script::install handling the pre-update-cmd event terminated with an exception
[ErrorException]
rmdir(/hyperf/installer/): Text file busy
则需要手动删掉目录 /hyperf/installer/
然后
cd /hyperf-skeleton
composer install
进入命令行交互程序
# 进入安装好的 Hyperf 项目目录
cd /hyperf-skeleton
ls -l
# 启动 Hyperf
先配置数据库和redis
php bin/hyperf.php start
可能有点慢,需要等一会。
在容器外面
netstat -lntp |grep 9501
curl http://localhost:9501
{"method":"GET","message":"Hello Hyperf."}
查看开启的进程
ps -ef |grep skeleton
477 root 0:18 {php} skeleton.Master
481 root 0:00 {php} skeleton.Manager
483 root 0:00 {php} skeleton.Worker.0
484 root 0:03 {php} skeleton.queue.default.0
证明部署完成,是不是很简单。
使用exit命令退出hyperf容器
再次启动容器
docker start hyperf
进入容器
docker exec -it hyperf bash
启动服务
php bin/hyperf.php start
剩下的就是研究hyperf框架本身了。
在开始开发之前,首先得知道当前环境:
php --ri swoole
4.5.2
php /hyperf-skeleton/bin/hyperf.php --version
php -v
7.2.31
代码热重载
cd /hyperf-skeleton
安装
composer require hyperf/watcher --dev
发布配置
php bin/hyperf.php vendor:publish hyperf/watcher
启动服务
php bin/hyperf.php server:watch
Hyperf框架 - docker中运行Hyperf项目
最新推荐文章于 2024-05-14 15:35:53 发布