php微服务框架 PHP-MSF 的容器部署和使用
一、需求
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 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
然后会选择安装目录和应用名称等,之后会配置成功:

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

手动启动进入安装的目录即可,然后运行 server 即可:
$ php server.php start
四、运行
start 之后,是通过 dev 的模式开启的,同时,前面监听的端口就可以访问了。
或者是局域网:
五、如果开启的时候发现端口被占用了,可以去 config 修改端口:
文件在下载的框架目录中: config/http.php:

php微服务框架 PHP-MSF 的容器部署和使用的更多相关文章
- 使用“消息服务框架”(MSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)
1,示例解决方案介绍 在上一篇 <消息服务框架(MSF)应用实例之分布式事务三阶段提交协议的实现>中,我们分析了分布式事务的三阶段提交协议的原理,现在我们来看看如何使用消息服务框架(MSF ...
- 基于thrift的微服务框架
前一阵开源过一个基于spring-boot的rest微服务框架,今天再来一篇基于thrift的微服务加框,thrift是啥就不多了,大家自行百度或参考我之前介绍thrift的文章, thrift不仅支 ...
- 基于spring-boot的rest微服务框架
周末在家研究spring-boot,参考github上的一些开源项目,整了一个rest微服务框架,取之于民,用之于民,在github上开源了,地址如下: https://github.com/yjmy ...
- 【GoLang】golang 微服务框架 go-kit
golang-Microservice Go kit - A toolkit for microservices kubernetes go-kit_百度搜索 Peter Bourgon谈使用Go和& ...
- 基于.NET CORE微服务框架 -浅析如何使用surging
1.前言 surging受到大家这么强烈的关注,我感到非常意外,比如有同僚在公司的分享会上分享surging, 还有在博客拿其它的RPC框架,微服务做对比等等,这些举动都让我感觉压力很大,毕竟作为个人 ...
- MicroService.Core简易微服务框架《一、简介》
MicroService.Core MicroService.Core 的初衷是为了方便的创建一个微服务, 可作为 Windows Service 或者控制台模式启动. 它底层使用了 OWin 自托管 ...
- 消息服务框架(MSF)应用实例之分布式事务三阶段提交协议的实现
一,分布式事务简介 在当前互联网,大数据和人工智能的热潮中,传统企业也受到这一潮流的冲击,纷纷响应国家“互联网+”的战略号召,企业开始将越来越多的应用从公司内网迁移到云端和移动端,或者将之前孤立的IT ...
- 非常完善的两个微服务框架比较(SpringCloud与Dubbo)
微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值. 虽然微服务架构没有公认的技术标准和规范或者草案,但 ...
- spring cloud 入门,看一个微服务框架的「五脏六腑」
Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件. 注:Spring Boot 简单理解就是简化 Spring 项目的搭建.配置.组 ...
随机推荐
- python中mysql数据库的操作-sqlalchemy
MySQLdb支持python2.*,不支持3.* ,python3里面使用PyMySQL模块代替 python3里面如果有报错 django.core.exceptions.ImproperlyC ...
- 『TensorFlow』读书笔记_VGGNet
VGGNet网络介绍 VGG系列结构图, 『cs231n』卷积神经网络工程实践技巧_下 1,全部使用3*3的卷积核和2*2的池化核,通过不断加深网络结构来提升性能. 所有卷积层都是同样大小的filte ...
- 『关键点检测』CPN:Cascaded Pyramid Network for Multi-Person Pose Estimation
论文连接 网络简介 face++2017年coco keypoint benchmark 数据集冠军的文章,发表于CVPR201 1 提出了一种金字塔型的串接模型,即CPN(cascaded pyr ...
- liunx 安装mysql数据库
yum 安装rz/sz yum install -y lrzsz 卸载Mariadb数据库 查询所安装的MariaDB组件: [root@localhost logs]# rpm -qa | gr ...
- Centos 7 搭建FTP详细配置步骤方法
vsftpd的安裝使用: ftp概述:FTP(File Transfer protocol,文件传输协议)是经典的C/S架构的应用层协议,需要有服务端软件,客户端软件两个部共同组成实现文件传输功能. ...
- 各大型网站架构分析收集-原网址http://blog.csdn.net/lovingprince/article/details/3379710
1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html 采取 Windows 技术路线的 Web 2.0 站 ...
- hadoop 设置回收站
我的问题是:hadoop回收站为什么会保留多个过期时间的数据 我们知道hadoop的回收站是在我们删除数据后能恢复的目录,但是我们并不希望在回收站保存太久的数据,我们可以使用如下参数进行配置. ...
- 拉格朗日乘子法&KKT条件
朗日乘子法(Lagrange Multiplier)和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法,在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件.前 ...
- [Java] [Lock] [Synchronized VS ReentrantLock]
Overview java编写多线程程序时,为了保证线程安全,需要对数据进行同步,经常用到的两种同步方式就是synchronized和重入锁ReentrantLock. 相似点 都是加锁方式 都是阻塞 ...
- 高级数据类型--字典(dict)
一.字典介绍 dict(字典) 是 除列表以外 Python 之中 最灵活 的数据类型.字典同样可以用来 存储多个数据,通常用于存储 描述一个 物体 的相关信息 和列表的区别: 列表 是 有序 的对象 ...