一、需求

PHP-msf 是 Carema360 开发的 PHP 微服务框架,目前我没有实际用过,但是市面上的微服务框架要么在推崇 Spring 系,要么是 go/node,由于想用 PHP 搞微服务,就顺便搜了下 PHP 的微服务框架,发现了 php-msf。

php-msf 的文档少得可怜,就是简单的介绍了一下。不过如果熟悉 MVC 的 PHP 开发框架的话,只要熟练一下 API 就可以了,其他倒没什么。

5.jpg

作为微服务框架,与 Docker 一定是有联系的, 而我觉得 php-msf 在这方面做得很不错,而且有自己的 Docker 镜像列表来 pull,省去自己配置环境的麻烦。

Docker 镜像列表

php-msf 的文档已经无法打开了,可以去 github 看看:

为了方便,我做了个看云的文档,目前几张图片我还没完全搞上去:

二、部署容器

在 Docker 中安装部署,直接用他的 Docker 镜像:

  • -p 2201:22:为了方便 ssh 登录容器开放的端口映射,不用也无所谓的,因为可以使用 docker exec
  • -p 81:8000:主要是将容器的 8000 端口(phpmsf 默认监听端口)映射出来,这个端口可以改,根据改的端口
  • -v :主要是为了开发时间方便文件映射,/home/worker/data/www/ 是默认的 web 文件目录,根据改的目录
$ docker run -dit --name phpmsfdemo -p 2201:22 -p 81:8000 -v /data/webroot/:/home/worker/data/www/ registry.cn-hangzhou.aliyuncs.com/pinguo-ops/php-msf-docker

php-msf 的镜像运行的容器中,php 的运行环境

三、部署代码

容器部署成功之后,可以在容器中直接部署代码。

直接安装代码使用的是 php-msf-docker,里面有一个 installer.php,运行这个文件,可以直接下载框架和应用的目录。

比如进入容器中,首先 git clone php-msf-docer,比如我 clone 到 /home/worker/data 这个文件夹。

$ git clone https://github.com/pinguo/php-msf-docker.git

进入 php-msf-docker,运行 installer.php:

$ php installer.php start

然后会选择安装目录和应用名称等,之后会配置成功:

2.jpg

配置成功会默认启动,如果不默认启动则可以进入目录手动启动:

3.jpg

手动启动进入安装的目录即可,然后运行 server 即可:

$ php server.php start

四、运行

start 之后,是通过 dev 的模式开启的,同时,前面监听的端口就可以访问了。

或者是局域网:

五、如果开启的时候发现端口被占用了,可以去 config 修改端口:

文件在下载的框架目录中: config/http.php:

4.jpg