//program.cs if (env.IsProduction() || env.IsStaging()) { var configuration = cb.Build(); //從consul配置中心讀取配置 var consulOption = configuration.GetSection("Consul").Get<ConsulConfig>(); cb.AddConsul(new[] { consulOption.ConsulUrl }, consulOption.ConsulKeyPath); }
//startup.cs if (env.IsProduction() || env.IsStaging()) { //啓動後自動註冊服務到consul app.RegisterToConsul(_srvRegistration.GetConsulConfig()); }
//ServiceRegistrationHelper.cs //獲取用戶認證、鑑權服務 var authServerAddress = (_env.IsProduction() || _env.IsStaging()) ? "adnc.usr.webapi" : "http://localhost:5010"; base.AddRpcService<IAuthRpcService>(authServerAddress, policies);
Adnc
基於.Net Core 3.1
開發,而且用了部分C# 8.0
語法,因此須要安裝visual studio 2019
。html
#新建/data/redis目錄 cd / mkdir data cd data mkdir redis #進入redis目錄 cd reids #拉取redis鏡像文件 docker pull redis #從官網下載redis.conf,並修改配置 wget http://download.redis.io/redis-stable/redis.conf
redis.conf
bind 127.0.0.1
#註釋掉這部分,這是限制redis只能本地訪問
protected-mode no
#默認yes,開啓保護模式,限制爲本地訪問
daemonize no
#默認no,改成yes意爲以守護進程方式啓動,可後臺運行,除非kill進程(可選),改成yes會使配置文件方式啓動redis失敗,請設置成no.
dir ./
#輸入本地redis數據庫存放文件夾(可選)
appendonly yes
#redis持久化(可選)
前端
#啓動redis容器,監聽13379端口,並掛載redis.conf與data目錄 docker run -p 13379:13379 --name redis -v /root/data/redis/redis.conf:/etc/redis/redis.conf -v /root/data/redis/data:/data -d redis redis-server /etc/redis/redis.conf
Adnc.Usr.WebApi
、Adnc.Cus.WebApi
、Adnc.Maint.WebApi
3個微服務appsettings.development.json
文件的redis
節點信息"Redis": { "MaxRdSecond": 120, "EnableLogging": false, "LockMs": 5000, "SleepMs": 300, "dbconfig": { "ConnectionStrings": [ "你的redis地址:13379,password=你的密碼,poolsize=50,defaultDatabase=1,prefix=" ], "ReadOnly": false } }
#拉取rabbitmq鏡像 docker pull rabbitmq:management #啓動容器,監聽18578,13572端口 docker run --name=rabbitmq -p 18578:15672 -p 13572:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=你的密碼 -d rabbitmq:management
若是安裝成功,咱們訪問
http://服務器IP:18578
,會出現登陸頁面。mysql
Adnc.Usr.WebApi
、Adnc.Cus.WebApi
、Adnc.Maint.WebApi
3個微服務appsettings.development.json
文件的RabbitMq
節點信息"RabbitMq": { "HostName": "服務器Ip", "VirtualHost": "虛擬主機", "Port": "13572", "UserName": "用戶名", "Password": "密碼" }
#拉取mongodb鏡像 docker pull mongo #啓動容器,監聽13017端口並掛載data與backup目錄 docker run --name mongo -p 13017:27017 -v /root/data/mongo:/data/db -v /root/data/mongo/backup:/data/backup -d mongo --auth
Adnc.Usr.WebApi
、Adnc.Cus.WebApi
、Adnc.Maint.WebApi
3個微服務appsettings.development.json
文件的MongoDb節點信息"MongoDb": { "ConnectionStrings": "mongodb://用戶名:密碼@服務器Ip:13017/Logs", "CollectionNamingConvention": 2, "PluralizeCollectionNames": true }
nlog.config
monogdb
配置部分#拉取mysql鏡像 docker pull mariadb #啓動容器,監聽13308端口,並掛載data與logs目錄 docker run --name mariadb -p 13308:3306 -e MYSQL_ROOT_PASSWORD=你的root密碼 --restart=always -v /root/data/mariadb/conf:/etc/mysql -v /root/data/mariadb/logs:/var/log/mysql -v /root/data/mariadb/data:/var/lib/mysql -d mariadb
Adnc.Usr.WebApi
、Adnc.Cus.WebApi
、Adnc.Maint.WebApi
3個微服務appsettings.development.json
文件的mysql節點信息"Mysql": { "WriteDbConnectionString": "Server=服務器ip;Port=13308;database=庫名;uid=帳號;pwd=密碼;" }
sql
腳本在doc
目錄中,請自行導入必備軟件安裝完成,下面介紹如何啓動。git
Adnc.Usr.WebApi
、Adnc.Cus.WebApi
、Adnc.Maint.WebApi
、Adnc.Infr.Gateway
4個微服務的launchSettings.json
文件SkyAPM
的配置,由於你沒有安裝skywalking
環境,註釋就能夠了。//註釋下面代碼 "SKYWALKING__SERVICENAME": "adnc.usr.webapi.dev", "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"
須要啓動4個項目:
Adnc.Infr.Gateway
、Adnc.Cus.WebApi
、Adnc.Maint.WebApi
、Adnc.Usr.WebApi
。
實際開發過程當中並不須要這樣,這樣介紹主要是爲了快速在本地跑起來。github
Visual Studio 2019
主界面,點擊啓動,這樣後臺接口與網關就啓動了。visual code
打開前端項目ClientApp
前端使用
Vue
開發,須要安裝不少依賴包web
#安裝依賴包 npm install --registry=https://registry.npm.taobao.org #啓動前端頁面,地址:localhost:5001,這裏請耐心等待,成功後會自動打開瀏覽器 npm run dev
alpha2008
密碼:alpha2008
MIT
Free Software, Hell Yeah!redis