Laravel第三方库 之 Nacos

本文的示例代码参考laravel-nacos

Nacos

git clone https://github.com/nacos-group/nacos-docker.git && cd nacos-docker

docker-compose -f example/standalone-derby.yaml up
# curl http://127.0.0.1:8848/nacos
# 账号 nacos 密码 nacos
# 配置管理 => 新增配置
# Group ID => LARAVEL_NACOS
# Group => DEFAULT_GROUP
# 配置内容 => 如下
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:LsCKsjln4Cf+XBrFbCOdv/zJ04UMvIu/13j0l55OP/8=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=123456

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

Nacos简介

Laravel

composer create-project laravel/laravel laravel-nacos --prefer-dist "5.8.*" && cd laravel-nacos

rm .env

php artisan serve

curl localhost:8000
# 500 | Server Error
export LARAVEL_NACOS_HOST=http://127.0.0.1:8848/nacos
export LARAVEL_ENV=local
export LARAVEL_NACOS_DATAID=LARAVEL_NACOS
export LARAVEL_NACOS_GROUPID=DEFAULT_GROUP
# 或者修改/etc/environment
composer require alibaba/nacos

vim bootstrap/app.php
# 开头添加如下代码
\alibaba\nacos\NacosConfig::setSnapshotPath(dirname(__DIR__) . "/nacos/config");
(new \Dotenv\Loader([], new \Dotenv\Environment\DotenvFactory(), true))->loadDirect(
    \alibaba\nacos\failover\LocalConfigInfoProcessor::getSnapshot(
        getenv("LARAVEL_ENV"),
        getenv("LARAVEL_NACOS_DATAID"),
        getenv("LARAVEL_NACOS_GROUPID"),
        getenv("LARAVEL_NACOS_NAMESPACEID") ?: ""
    )
);
php artisan make:command NacosRefreshConfig

vim app/Console/Commands/NacosRefreshConfig.php
loadDirect(
            \alibaba\nacos\Nacos::init(
                getenv("LARAVEL_NACOS_HOST"),
                getenv("LARAVEL_ENV"),
                getenv("LARAVEL_NACOS_DATAID"),
                getenv("LARAVEL_NACOS_GROUPID"),
                getenv("LARAVEL_NACOS_NAMESPACEID") ?: ""
            )->runOnce()
        );
    }
}
php artisan nacos:refresh

php artisan serve

curl localhost:8000
Laravel第三方库 之 Nacos_第1张图片
image.png

php微服务,在laravel中集成nacos配置中心

你可能感兴趣的:(Laravel第三方库 之 Nacos)