透过简单的bash让我们快速生成Laravel的项目。
本文教您如何使用D-Laravel的提供的docker image,来创建swoole的运行开发环境。
看完这篇,您应该能快速的透过D-Laravel创建出swoole的运行环境罗。
环境确认
注意事项
一、D-Laravel上的Swoole目前仅可使用default为Project目录,因此,一个D-Laravel只能跑一个swoole项目。二、请确认您的port 80未被主机占用,否则您需自行先调整好docker-compose-swoole.yml中的主机开启连接埠,
例如变更为8080:80,将host端开启的连接埠改为8080。
三、请确认您使用最新的php image,至少要以下版本或之后的版本,才有内建swoole.so的扩展。
image: deviny/fpm:7.3.5
image: deviny/fpm:7.2.18
image: deviny/fpm:7.1.29
image: deviny/fpm:5.6.39
进入正题,创建swoole项目步骤如下:
一、为确保没有任何连接埠冲突问题,建议先停止我们运作中其他的d-laravel,如果有的话。我们可以用docker ps命令查看,是否还有D-Laravel相关的容器还在运行中的。
二、直接clone最新版本的d-laravel,并指定一个新的Project名称。
swoole的项目名称,您可自行命令,例如: project1。
git clone https://github.com/DevinY/dlaravel.git swoole
三、在上例中,我创建了一个名为swoole的Project,clone下来后,进入swoole这个目录中
cd swoole
四、一个d-laravel只能跑一个swoole,请创建一个default的Project。(default名称不可变更)
./create default
五、第四步完成后,需进行laravel的swoole包的安装,d-laravel使用laravel-s的包,如果您的D-Laravel设置别名(ce 及 a)了,我们可以简单的运行别名,在主机端(host)完成安装步骤,
或是您可以进入容器中运行相关的安装命令。
1.主机端D-Laravel别名安装方式:
#进入default的项目数据夹
cd sites/default
#使用别名 ce 代表容composer命令,进行laravel-s安装
ce require "hhxsv5/laravel-s:~3.5.0" -vvv
#使用别名 a 代表php artisan,进行laravel-s的发布
a laravels publish
再还没创建swoole环境前,我们可以直接输入./console swoole,就可以看到安装相关命令说明罗。2.容器内的安装方式:
如果,您不懂如何创建D-Laravel的别名,您有另一个选择,进入至容器内来安装,命令如下:
#使用./console进入容器内
./console
#进入项目数据夹
cd default/
#透过composer安装laravel-s
composer require hhxsv5/laravel-s:~3.5.0 -vvv
#publish必要的文件
php artisan laravels publish
如果您是进入到容器安装的,完成后,可压热键Ctrl+D离开容器,回到主机端(host),画面如下:六、切换成swoole的模式
./console swoole
如果您有按图施工、我相信,保证成功,您应该可以看到与我类似的画面。以上,您已完成了D-Laravel的swoole开发环境。D-laravel使用自行开发的file watcher进行文件修改检测。
初台化时,您可能需等个几秒才能看到网页,在D-Laravel的swoole模式中,电脑的IP是可以直接被访问的,
我们也可以使用localhost或IP的方式连接到网站。
试者压command+r来重整网页,您会发觉,靠~~Laravel变的超级快。
最后,我要说一下,我并未用swoole开发,如果您想将他用在Production的版本,请自行评估或测试,
swoole有那些坑或那些雷,请自行Google一下。
在这里我只是提供了一种在D-Laravel环境中运行swoole的方式,当然D-Laravel最新版本PHP FPM的image中都内建swoole的扩展了,
也就是说,将swoole.so添加到php.ini后,您的php就能运行swoole的相关命令,创建各式各样的服务,并不止於Laravel的swoole环境哦。
差多少眼见为凭:
实测相同环境,相同的进程码,未使用及使用swoole的页面加载速度差异:swoole.com官网:
https://www.swoole.com/
laravel-s (Laravel与swoole的集成)
https://github.com/hhxsv5/laravel-s
No Comment
Post your comment