php接入SpringCloud微服务框架

微服务很火,实验室要求大部分语言接入微服务,比如:NET、JAVA、前端、PHP。
微服务本来就是JAVA的,作为一个phper,只有想办法接入微服务。
网上可以参考的东西不多,但还是找到了可利用的东西。
先实现php注册到Spring Cloud的注册中心:http://eureka.springcloud.cn/结果如图: 把php应用部署到openresty + PHP(FPM)注册工具SpringCloudOpenrestyhttps://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代码Welcome to OpenResty!

安装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查看是否安装成功,成功的话会输出类似如下信息:安装 fpmsudo apt-get install php7.0-fpm 使用serviceRegistry工具下载serviceRegistry到root目录下https://github.com/tangaiyun/SpringCloudOpenrestyPHPgit clone https://github.com/tangaiyun/SpringCloudOpenrestyPHP.git 对于Spring cloud:1.将serviceRegistry/consul/lualib中的所有文件(包含目录)复制到你的openresty lualib目录中/usr/local/openresty/lualibcp -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/confinit_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.167eurekaPort填写注册中心的端口。
比如Spring Cloud的注册中心端口:803.将serviceInstance.json更改为你的环境,例如:/usr/local/openresty/nginx/conf/serviceInstance.json中的ip改为自己环境的ip,比如192.168.211.224.将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·

返回列表
上一篇:
下一篇: