一、需求
PHP-msf 是 Carema360 開發的 PHP 微服務框架,目前我沒有實際用過,但是市面上的微服務框架要么在推崇 Spring
系,要么是 go/node
,由於想用 PHP 搞微服務,就順便搜了下 PHP 的微服務框架,發現了 php-msf。
php-msf 的文檔少得可憐,就是簡單的介紹了一下。不過如果熟悉 MVC 的 PHP 開發框架的話,只要熟練一下 API 就可以了,其他倒沒什么。
作為微服務框架,與 Docker 一定是有聯系的, 而我覺得 php-msf 在這方面做得很不錯,而且有自己的 Docker 鏡像列表來 pull,省去自己配置環境的麻煩。
Docker 鏡像列表:
php-msf 的文檔已經無法打開了,可以去 github 看看:
為了方便,我做了個看雲的文檔,目前幾張圖片我還沒完全搞上去:
二、部署容器
在 Docker 中安裝部署,直接用他的 Docker 鏡像:
-p 2201:22
:為了方便 ssh 登錄容器開放的端口映射,不用也無所謂的,因為可以使用 docker -it phpmsfdemo /bin/bash-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/
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
然后會選擇安裝目錄和應用名稱等,之后會配置成功:
配置成功會默認啟動,如果不默認啟動則可以進入目錄手動啟動:
手動啟動進入安裝的目錄即可,然后運行 server 即可:
php server.php start
四、運行
start 之后,是通過 dev 的模式開啟的,同時,前面監聽的端口就可以訪問了。
或者是局域網:
五、如果開啟的時候發現端口被占用了,可以去 config 修改端口:
文件在下載的框架目錄中: config/http.php
: