微服务很火,实验室要求大部分语言接入微服务,比如:NET、JAVA、前端、PHP。微服务本来就是JAVA的,作为一个phper,只有想办法接入微服务。

网上可以参考的东西不多,但还是找到了可利用的东西。

先实现php注册到Spring Cloud的注册中心:http://eureka.springcloud.cn/

结果如图:

把php应用部署到openresty + PHP(FPM)

注册工具SpringCloudOpenresty

https://github.com/tangaiyun/SpringCloudOpenrestyPHP

前提:安装openresty和php 7.0和FPM

使用的系统:ubuntu14.04

安装openresty

源码包下载:

http://openresty.org/cn/download.html

找个目录放源码:cd /rootwget https://openresty.org/download/openresty-1.13.6.2.tar.gz相关依赖包的安装apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential解压源码,安装openrestytar -xzvf openresty-1.13.6.2.tar.gzcd openresty-1.13.6.2./configuremake && make install

验证安装成功

开启openresty

/usr/local/openresty/nginx/sbin/nginxcurl 127.0.0.1

返回一段html代码

<html><head><title>Welcome to OpenResty!title><style> body{ width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; }style>head><body>

安装php7.0

前期准备

# 更新 apt-getsudo apt-get update # 解决有可能存在的语言问题sudo apt-get install -y language-pack-en-base

安装完成之后,运行:

locale-gen en_US.UTF-8

安装Php7.0,本教程采用ppa方式安装php7.0,

# 添加php的仓库sudo apt-get install software-properties-common#> 中途按下回车sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

安装完成之后,运行sudo apt-get update更新安装包,把刚才添加的包拉取下来。运行apt-cache search php7.0搜索php7.0开头的包检验是否安装成功,输出如下:

安装php7.0:

sudo apt-get -y install php7.0

安装成功后运行php -v查看是否安装成功,成功的话会输出类似如下信息:

安装 fpm

sudo apt-get install php7.0-fpm

使用serviceRegistry工具

下载serviceRegistry到root目录下

https://github.com/tangaiyun/SpringCloudOpenresty

PHP

git clone https://github.com/tangaiyun/SpringCloudOpenrestyPHP.git

对于Spring cloud:

1.将serviceRegistry/consul/lualib中的所有文件(包含目录)复制到你的openresty lualib目录中/usr/local/openresty/lualib

cp -r

/root/SpringCloudOpenrestyPHP/serviceRegistry/eureka/lualib/* /usr/local/openresty/lualib

2.更改你的nginx.conf文件和serviceRegistry/consul/conf/nginx.conf一样,请注意块

cp -r

/root/SpringCloudOpenrestyPHP/serviceRegistry/eureka/conf/* /usr/local/openresty/nginx/conf

init_worker_by_lua_block { if 0 == ngx.worker.id() then local workservice = require 'eureka.workerservice' local filePath = '/usr/local/openresty/nginx/conf/serviceInstance.json' eurekaHost = '10.100.23.69' eurekaPort = 8761 local file1 = io.input(filePath)

可将“filePath”更改为您自己的服务配置位置。

eurekaHost填写注册中心ip或者域名。比如Spring Cloud的注册中心eureka.springcloud.cn的ip地址:114.215.45.167

eurekaPort填写注册中心的端口。比如Spring Cloud的注册中心端口:80

3.将serviceInstance.json更改为你的环境,例如:

/usr/local/openresty/nginx/conf/serviceInstance.json中的ip改为自己环境的ip,比如192.168.211.22

4.将serviceRegistry/eureka/html中的文件复制到你的Web根目录。

cp -r /root/SpringCloudOpenrestyPHP/serviceRegistry/eureka/html/* /usr/local/openresty/nginx/html

命令

Openresty nginx服务命令:

/usr/local/openresty/nginx/sbin/nginx #启动/usr/local/openresty/nginx/sbin/nginx -s stop #停止/usr/local/openresty/nginx/sbin/nginx -s reload #重启

启动php7.0-fpm服务

service php7.0-fpm start

开启openresty以及php7.0-fpm,可以发现在注册中心已经注册成功。

来源:

https://blog.csdn.net/LongHitler/article/details/85810323

·END·

PHP开源社区进阶·提升·涨薪

springcloud ip部署_php接入SpringCloud微服务框架相关推荐

  1. 利用SpringCloud搭建一个最简单的微服务框架

    利用SpringCloud搭建一个最简单的微服务框架 https://blog.csdn.net/caicongyang/article/details/52974406 1.微服务 微服务主要包含服 ...

  2. 本文为大家解释,Dapr是比SpringCloud和Istio更优雅的微服务框架的原因是什么

    Dapr 是微软主导的云原生开源项目,2019年10月首次发布,到正式发布 V1.0 版本的不到一年的时间内,github star 数达到了 1.2万(现在已经超过1.7万星),超过同期的 kube ...

  3. 容器化技术与微服务结合---结合springcloud微服务框架进行部署(含切换成阿里云docker仓库)(五)

    目录 系列 更换成阿里云仓库 开通阿里云镜像服务 创建仓库 本地k8s切换成阿里云的镜像仓库 测试阿里云镜像 准备简单的微服务 eureka 应用配置 k8s配置: demo-a 应用配置 k8s配置 ...

  4. 01 微服务和微服务框架 —— SpringCloud

    一.微服务介绍 1. 什么是微服务 在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微".什么是"服务", 微 狭义来讲就 ...

  5. 最新微服务框架SpringCloud Alibaba介绍,搭建

    微服务和SpringCloud Alibaba详细介绍(一),手把手搭建微服务框架 PS:本博客是本人参照B站博主:JAVA阿伟如是说 的视频讲解手敲整理的笔记 跟着一起手动搭建的框架 供大家一起学习 ...

  6. SpringCloud 微服务框架

    单体架构:将业务全部功能集中到一个项目中,打成一个war包存储,部署在一台服务器中,只有一个数据库 优点 :架构简单,部署成本低.适合小型项目 问题:高并发性能问题,开发时代码耦合问题,部署升级时停服 ...

  7. JavaEE 企业级分布式高级架构师(十三)微服务框架 SpringCloud (H 版)(1)

    Spring Cloud学习笔记 Spring Cloud入门 分布式技术图谱 Spring Cloud简介 官网介绍 百度百科 总结 Spring Cloud的国内使用情况 Spring Cloud ...

  8. 第六篇:微服务框架(SpringBoot、SpringCloud)

    目录 一. 微服务框架 1. 微服务架构概念 2. 微服务的利与弊(为什么要用微服务) 二. SpringBoot 1. SpringBoot是什么? 2. SpringBoot核心注解是什么? 3. ...

  9. 微服务框架springcloud

    基础 单体架构:将业务全部功能集中到一个项目中,打成一个war包存储,部署在一台服务器中,只有一个数据库 优点 :架构简单,部署成本低.适合小型项目 问题:高并发性能问题,开发时代码耦合问题,部署升级 ...

  10. 微服务架构 与 Dubbo 微服务框架、SpringCloud 微服务框架 详解

    微服务架构 与 Dubbo 微服务框架.SpringCloud 微服务框架 详解 什么是微服务架构? 微服务架构就是将单体的应用程序分成多个应用程序,这一个应用程序就组成一个服务,这多个应用程序就组成 ...

最新文章

  1. binutils工具集用法
  2. Arduino数字引脚作为GPIO的使用
  3. SVD 与 PCA 的直观解释(4): PCA 主成分分析
  4. 微信小程序支付-付款(Java后台)
  5. paip。java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型
  6. 计算机组成原理(唐朔飞)--第一篇 概论
  7. 高分子物理考研概念及要点、考点总结
  8. TOM邮箱—让邮件更安全 让工作更惬意
  9. 微信公共平台信息查询系统
  10. 微信小程序实现地图导航功能
  11. 配方奶粉,尽量不用鲜奶
  12. Unity教程 | 手把手教你拼一个3D“魔方”
  13. 软件测试对比软件开发,你适合哪款?
  14. HTML(一)静态登录注册页面附有完整网页(html+css+js)
  15. 2021-2025年中国采油软件行业市场供需与战略研究报告
  16. 野心外漏?Windows Defender或将独霸杀毒软件市场?
  17. 将sd卡格式化为ext4格式并挂载
  18. vue3 使用 highcharts 创建 甘特图
  19. opencv图像处理初步(一):灰度化和二值化
  20. 在数据库中如何使用存储过程

热门文章

  1. hkust ucl 电子工程比较_通信工程专业
  2. DirectSound---输出设备基本操作(枚举、查询等)
  3. SpaceNet 数据集
  4. codeforces 459 E. Pashmak and Graph(dp)
  5. Fiddler(Web/HTTP调试利器)
  6. 收藏的关于开发的一些东西
  7. 深圳安全研讨会圆满结束,PPT共享下载
  8. 解决 找不到方法:“Void System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)”。
  9. .Net1.x转换为.Net 2.0要注意的几个问题
  10. spring 事务源码(三)如何保证被@Transactional标记方法中的所有sql都在一个事务内