携程apollo从服务端安装,再到客户端的使用,第一次搭建,看我就对了(一个简单的入门demo)
先说服务端的安装,具体的apollo是啥,大家自己去官网看。
https://github.com/ctripcorp/apollo登录官网
往下面拉,看图,点分布式部署点进去(应该是Quick Start但是咱们说的是修改源码的方式)
继续往下面拉,找到它
往下看
下载这个源码包,解压后目录结构这是
打开项目根目录,注意啊是根目录的script,然后有build.sh和build.bat这两个看你自己是啥系统,比如你是windows你就改bat的,你要是mac 就改sh的,本人是mac本,我就改.sh的了,一样的其实。
把我的数据库ip改成你们的数据库ip就可以了,(我的数据库是买的阿里云的)。
重点容易踩坑出错的地方:
大家可以先忽略这个配置,然后启动试试,如果有问题再配置下面所说也行。不想浪费时间的直接就配置上。
大家注意一下我下面说的这个配置,下面截图的这个adminservice项目打开,然后进入到他的resources下的bootstrap.yml中,加入我花红线的这个配置 ip-address: xxx.xxx.xxx.xx 说明一下,我的数据库是买的阿里云的,我下图中的ip也是我买的阿里云的服务器,我的阿里云的数据库不是放在我的阿里云服务器上,因为我买的阿里云服务器内存啥的太小了。
言归正传
在configservice项目中一样的文件中一样的配置
OK 在这两个服务中都配置完以后,windows使用dos命令执行项目根目录下的script下的build.bat
mac系统就执行那个build.sh 这样就会打包了。
打包完成后,找到打好的包,一共3个
这时候直接进入你的文件夹不是开发工具
进入文件夹项目的,然后进入adminservice,configservice, portalservice这三个项目找到target文件夹,然后找到以github.zip结尾的文件夹,然后传到linux服务器上
windiws用工具传,mac用 scp就行。
传到服务器后解压压缩包,unzip xxxx-github.zip
解压完了 以后 去scripts下执行startup.sh然后静等起来就行了,注意启动顺序 admin -> config -> portal
到这应该就没啥问题了服务端已经起来了。
服务器ip加8070进入页面.(有三个服务吗不是? 所以就有三个地址分别是8070是配置中心页面,8080是eureka, 8090是config大家登陆看一下就知道了下面就不多重复了)
随便填,记住appId就行,记不住也没事儿反正能回来看么不。
这是我的建立完了,
点进去
忘了说了要是进去了提示红色的什么联系系统管理员你就去数据库改一下配置
因为默认用的eureka。你改一下你eureka的地址,我装的服务端他默认给我装了个注册中心,那一定是在我的服务器上,所以我就写我的服务器,
要是提示什么让你补全配置的信息的话就不是错误,就去补全就行了。其实说白了就是添加一些数据你的配置这些看我截图
就是这些东西。你加上就没事儿了。
到这儿服务端就完事儿了。开始客户端
客户端使用springBoot
创建项目就不说了。
咱们服务端都是用的最新版的那客户端也用最新的,先给依赖整上。
<!-- https://mvnrepository.com/artifact/com.ctrip.framework.apollo/apollo-client 阿波罗客户端 -->
<dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-client</artifactId><version>1.7.0</version>
</dependency><!-- https://mvnrepository.com/artifact/com.ctrip.framework.apollo/apollo-core -->
<dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-core</artifactId><version>1.7.0</version>
</dependency>
然后springBoot的启动类添加注解。(不懂springBoot的小伙伴先去学一下)
测试
测试的controller
我用@Value取的都是apollo配置中心的 ,在上个图看下配置中心
新增配置以后别忘了发布,不发布不生效.
到这以后先别急着启动,
可以在这加这个(作用一会再说)
也可以 mac中是在 /opt/settings/server.properties 这个目录创建文件夹和文件,没有就自己创建不用怕。然后文件内容就是env=DEV
windows就是c盘下C:\opt\settings\server.properties
还可以在/server.properties 文件中添加属性 apollo.cacheDir=C:\\ydfind\\data1 生成缓存文件的位置、
说明一下:这个server.properties中的env=DEV意思是要读的是哪个环境。你不告诉它它不知道。也能用上面说的方式直接在编译工具里配置。然后它知道哪个环境读取后,apollo.cacheDir=C:\\ydfind\\data1这个就是生成的缓存配置文件在哪。这是咱自己指定的。你随意。
到了这就可以启动了,应该没问题了就。如果没配置我上边提到的容易踩坑的那个问题,那启动可能会拿不到配置中心的值,并报一个错,去你的eureka比如我的就是http://39.100.239.60:8080/这个地址。,可以看到下图我已经注册成功了
继续看,最下面这个地址现在是我的服务器没问题,我刚才弄的时候就不是,是一个陌生的ip,然后我客户端死活起不来,就报错,其中就包含这个陌生的ip。经过一顿查找后。解决了。转载一下人家的帖子你们看下是为啥
https://blog.csdn.net/Jaycrees/article/details/97802048
我按照他说的解决了就给。你们别挨个试了啊,按我上面说的做,不然太浪费时间了,我都给试了,我上面说的才好使。
到这就应该没啥问题了。有什么问题大家提出来一起学习,我也是第一次搭建。理解的也很片面很多都没有啰嗦。大家自己去官网看一下。够详细了这次。
补充一下。。。
在客户端的springBoot配置文件application.yml中添加配置
app:id: springboot-apollo
apollo:meta: http://39.100.239.60:8080bootstrap:enabled: true #will inject 'application' namespace in bootstrap phasenamespaces: applicationeagerLoad:enabled: true #如果希望把日志相关的配置(如logging.level.root=info或logback-spring.xml中的参数)也放在Apollo管理,那么可以额外配置apollo.bootstrap.eagerLoad.enabled=true来使Apollo的加载顺序放到日志系统加载之前,不过这会导致Apollo的启动过程无法通过日志的方式输出(因为执行Apollo加载的时候,日志系统压根没有准备好呢!所以在Apollo代码中使用Slf4j的日志输出便没有任何内容)
这个app下的id就是配置中心刚才创建时候我让你们记住的那个记不住就回去看看。
然后meta这个我写的是我服务器的,我发现我如果写localhost他就会报错。
还有个问题要说一下,刚才测试发现,比如我把mybatis的配置信息从springBoot项目中删除,然后启动项目,然后再去阿波罗配置中心添加这个配置并发布,发现没用。重启项目后,生效。说明,只能热部署修改的,而不是新增的。大家自己试一下
嗯到此结束了。
携程apollo从服务端安装,再到客户端的使用,第一次搭建,看我就对了(一个简单的入门demo)相关推荐
- git的CentOS服务端安装和windows客户端的使用
git的CentOS服务端安装和windows客户端的使用 此教程以 ***vps CentOS 6 x64 的系统为环境,搭建 git 服务端.windows 7 系统为客户端. git客户端 在W ...
- memcached win64位服务端安装和java客户端实例
项目开发中需要用到memcached缓存记录下来相关操作方便日后复习,如果有错误或遗漏请留言. memcached服务端安装 下载安装包 下载地址 32位系统 1.4.4版本:http://stati ...
- 携程apollo系列-个人开发环境搭建
本博客讲详细讲解如何在 Windows 搭建携程 Apollo 服务器 (用户个人开发). 开发服务器有多种搭建方式: (1) docker, 搭建过程非常简单, 推荐有 docker 环境 (2) ...
- 携程App网络服务通道治理和性能优化
App网络服务的高可靠和低延迟对于无线业务稳定发展至关重要,过去两年来我们一直在持续优化App网络服务的性能,到今年Q2结束时基本完成了App网络服务通道治理和性能优化的阶段性目标,特此撰文总结其中的 ...
- 携程App网络服务通道治理和性能优化@2016
App网络服务的高可靠和低延迟对于无线业务稳定发展至关重要,过去两年来我们一直在持续优化App网络服务的性能,到今年Q2结束时基本完成了App网络服务通道治理和性能优化的阶段性目标,特此撰文总结其中的 ...
- Docker部署携程Apollo
Docker部署携程Apollo 下载Apollo源码 执行Apollo脚本(MySQL) 修改Apollo配置 修改build.bat脚本 打开build.bat文件所在文件夹,双击运行 创建apo ...
- java自动化测试成长日记-之CVS客户端和服务端安装和部署1:CVS服务端的配置和基本使用...
CVS服务端的配置和基本使用 在做java自动化测试集成环境搭建的时候,无论怎样,你都会选择一个源代码管理工具,如:SVN,CVS,VSS等:但如果你使用Eclipse工具,建议你使用CVS源代码管理 ...
- linux 银河麒麟V10 VSFTPD服务端安装、配置的图文教程
前言:本篇文章,集互联网好友的成果.本菜鸟实践摸索的结果,整理综合而得.本人在CSDN.百度.B站等各大网站进行了有限的搜索,都没有看到完全适配的答案. 如果你也是国产电脑的受"益" ...
- SVN服务端安装与配置
原文地址为: SVN服务端安装与配置 我用的SVN服务端是SubVersion,版本:Setup-Subversion-1.6.6.msi,在我查资料的时候,发现有一个配置方法比较简单的SVN服务端V ...
- st550服务器安装2008系统,windows2008 git服务端安装
windows2008 git服务端安装 [2021-02-12 14:07:49] 简介: 系统运维 SQL 2008新实例基础安装1.默认实例安装(略过,可自行百度.google):2.准备:w ...
最新文章
- ​横扫六大权威榜单后,达摩院开源深度语言模型体系 AliceMind
- 腾讯优图吴永坚:迈向深度学习,我们面临模型训练与推荐的双重考验
- ubuntu ssh 客户端查看服务器端图形界面
- oracle迁移postsql的,osdba's blog : Oracle迁移PostgreSQL系列文章之二:merge语句
- 左耳朵耗子论微服务 Serverless 及 FaaS | GIAC 访谈
- 【Scratch】青少年蓝桥杯_每日一题_5.07_猜数字
- 《梦断代码》阅读笔记Ⅱ
- Vue.js 概述与 MVVM 模式
- MEMCACHED在集群环境下对并发更新是否保持数据一致
- 基于JAVA+SpringMVC+Mybatis+MYSQL的图书租赁系统
- NGINX实现负载均衡,并利用PHP实现session入库
- js动态显示时间和日期
- 学术壁报模板_电子壁报 | 中华医学会第十四次全国妇产科学学术会议
- 存储过程实例(用存储过程获取单张表的总记录数)
- Android联网的权限
- ShapeContext
- Android(小米miui)如何判断当前应用是否允许NFC权限
- JAVA拾遗 — JMH与8个代码陷阱
- 算法 - 两数互质问题
- Hibernate 编写测试类,进行增删改查 自动生成表