Nacos:PHP服务注册到Nacos

现在的系统由多个模块多个语言组册,为了方便管理,统一访问,使用统一的网关,选用Nacos作为注册中心和服务中心,把PHP服务注册到Nacos里。

一、需要依赖安装

1、配置要求

grpc扩展、PHP7+

2、安装

pecl安装

pecl install protobuf
pecl install grpc

把安装好的扩展加入PHP配置文件php.ini

extension=protobuf.so
extension=grpc.so

3、可能需要升级gcc和安装zlib

yum install centos-release-scl   //安装centos-release-scl
yum install devtoolset-7-gcc*    //安装devtoolset,注意,如果想安装8.版本的,就改成devtoolset-8-gcc,以此类推
scl enable devtoolset-7 bash     //激活对应的devtoolset
gcc -v                           //查看版本

//安装zlib
yum install -y zlib.x86_64 zlib-devel.x86_64

二、安装nacos

composer require alibaba/nacos

三、服务注册到nacos

<?php

namespace App\Console\Commands;

use alibaba\nacos\NacosConfig;
use alibaba\nacos\Naming;
use Illuminate\Console\Command;

class NacosRegisterInstance extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'nacos:register:instance';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'nacos:register:instance';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        try {
            NacosConfig::setHost("http://127.0.0.1:8848/"); // 配置中心地址
            $naming = Naming::init(
                "test-service",
                "127.0.0.1",
                "8081",
                "",
                "",
                true
            );

            $naming->register();
        } catch (\Exception $exception) {

        }
    }
}
php artisan nacos:register:instance

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注