詳解JavaEE中Apollo安裝使用小結(jié)
說(shuō)明:
Apollo是配置管理中心,和SpringCloud-Config實(shí)現(xiàn)的功能有點(diǎn)相似。
一、安裝MySQL 5.7.37(主機(jī):192.168.233.128,用戶(hù)/密碼:root):
1.下載mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar,并上傳到centos7:
https://dev.mysql.com/downloads/mysql/
解壓mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar(cd到/root目錄):
[root@localhost ~]# tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
2.安裝依賴(lài):
[root@localhost ~]# yum -y install libaio [root@localhost ~]# yum -y install perl [root@localhost ~]# yum -y install net-tools
3.安裝mysql:
[root@localhost ~]# rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm [root@localhost ~]# rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm [root@localhost ~]# rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm [root@localhost ~]# rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm [root@localhost ~]# rpm -ivh mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm
4.啟動(dòng):
[root@localhost ~]# service mysqld start
5.查看臨時(shí)密碼:
[root@localhost ~]# grep password /var/log/mysqld.log
6.登錄(在Enter password輸入上方查看的密碼):
[root@localhost ~]# mysql -u root -p Enter password:
7.修改密碼(密碼:root):
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'Root123456='; mysql> SET GLOBAL validate_password_length=2; mysql> SET GLOBAL validate_password_policy=0; mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'root';
8.允許遠(yuǎn)程訪(fǎng)問(wèn):
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
二、Apollo安裝/啟動(dòng)(centos7)(主機(jī):192.168.233.128):
1.下載apollo-quick-start-1.9.2.zip:
https://www.apolloconfig.com/#/zh/deployment/quick-start?id=%e4%ba%8c%e3%80%81%e5%ae%89%e8%a3%85%e6%ad%a5%e9%aa%a4
2.創(chuàng)建ApolloPortalDB、ApolloConfigDB數(shù)據(jù)庫(kù):
(1)使用Navicat連接mysql5,創(chuàng)建ApolloPortalDB、ApolloConfigDB數(shù)據(jù)庫(kù):
注:ApolloPortalDB在生產(chǎn)環(huán)境部署,而ApolloConfigDB需要每個(gè)環(huán)境部署一套。
(2)導(dǎo)入apolloportaldb.sql到ApolloPortalDB數(shù)據(jù)庫(kù)(sql文件在apollo-quick-start-1.9.2/sql目錄中):
使用Navicat右擊ApolloPortalDB數(shù)據(jù)庫(kù),運(yùn)行 SQL 文件,選擇apolloportaldb.sql,點(diǎn)開(kāi)始按鈕。
(3)導(dǎo)入apolloconfigdb.sql到ApolloConfigDB數(shù)據(jù)庫(kù)(sql文件在apollo-quick-start-1.9.2/sql目錄中):
使用Navicat右擊ApolloConfigDB數(shù)據(jù)庫(kù),運(yùn)行 SQL 文件,選擇apolloconfigdb.sql,點(diǎn)開(kāi)始按鈕。
3.安裝Apollo:
(1)將apollo-quick-start-1.9.2.zip上傳到/usr/local/apollo目錄(mkdir /usr/local/apollo)。
(2)解壓apollo-quick-start-1.9.2.zip(cd /usr/local/apollo/):
[root@localhost apollo]# unzip apollo-quick-start-1.9.2.zip
(3)配置ApolloPortalDB、ApolloConfigDB數(shù)據(jù)庫(kù)連接信息:
[root@localhost apollo]# vi demo.sh
修改如下內(nèi)容:
#ApolloConfigDB連接信息 apollo_config_db_url="jdbc:mysql://192.168.233.128:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai" apollo_config_db_username=root apollo_config_db_password=root #ApolloPortalDB連接信息 apollo_portal_db_url="jdbc:mysql://192.168.233.128:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai" apollo_portal_db_username=root apollo_portal_db_password=root ... # meta server url config_server_url=http://192.168.233.128:8080 admin_server_url=http://192.168.233.128:8090 ... portal_url=http://192.168.233.128:8070
4.啟動(dòng)/停止Apollo:
[root@localhost apollo]# ./demo.sh start[root@localhost apollo]# ./demo.sh stop
5.打開(kāi)Apollo首頁(yè)(用戶(hù)apollo,密碼admin):
http://192.168.233.128:8070
三、Web應(yīng)用接入Apollo(SpringBoot):
1.在Apollo中創(chuàng)建應(yīng)用:
(1)在首頁(yè),點(diǎn)左上角"創(chuàng)建應(yīng)用",輸入AppId值等(此處AppId與待接入應(yīng)用application.yml的app.id對(duì)應(yīng)):
(2)進(jìn)入創(chuàng)建的應(yīng)用,點(diǎn)擊Key/Value列表的右上角"新增配置",添加Key和Value:
(3)創(chuàng)建Key+Value后,回到Key/Value列表中,點(diǎn)右上角靠左的"發(fā)布"按鈕生效:
2.Web工程中配置Apollo信息:
(1)添加apollo依賴(lài):
<dependencies> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.9.2</version> </dependency> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-openapi</artifactId> <version>1.9.2</version> </dependency> </dependencies>
(2)配置app.id與app.meta,在application.yml中:
... app: id: apollo #apollo應(yīng)用ID(必須與Apollo網(wǎng)頁(yè)上創(chuàng)建項(xiàng)目時(shí)定義的應(yīng)用Id一致) apollo: meta: http://192.168.233.128:8080 #apollo服務(wù)器地址 autoUpdateInjectedSpringProperties: true #false時(shí)@Value("${key1}")值不會(huì)自動(dòng)更新,默認(rèn)true自動(dòng)更新 #cache-dir: /opt/data/some-cache-dir #自定義本地緩存路徑,默認(rèn)為/opt/data/{appId}/config-cache access-key: secret: 838fe62c502a43e2b70a31d7c7156f10 #配置訪(fǎng)問(wèn)密鑰,在Apollo首頁(yè)-管理密鑰中創(chuàng)建密鑰 property: names: cache: enable: true #開(kāi)啟propertyNames緩存 bootstrap: enabled: true #開(kāi)啟 Apollo namespaces: application #可以注入多個(gè)命名空間,以逗號(hào)分隔 #eagerLoad: # enabled: true #將apollo初始化放在日志系統(tǒng)初始化之前
(3)Application啟動(dòng)類(lèi)添加@EnableApolloConfig注解:
@SpringBootApplication @EnableApolloConfig //開(kāi)啟Apollo public class ApolloApplication { public static void main(String[] args) { SpringApplication.run(ApolloApplication.class); } }
(4)Config方式獲取apollo配置中心的配置:
@Configuration public class ApolloConfig { @Value("${key1}")//從apollo配置中心獲取添加的key1 public String key1; }
(5)獲取key1并打印的測(cè)試Conrtoller:
@RestController public class UserController { @Autowired private ApolloConfig apolloConfig; @RequestMapping("/user") @ResponseBody public String user(){ return apolloConfig.key1; } }
3.啟動(dòng)Web應(yīng)用,需要添加Apollo環(huán)境+地址參數(shù):
(1)IntelliJ IDEA方式,Edit Configurations -> 左側(cè)Application中選中ApolloApplication,右側(cè)Configuration選項(xiàng)卡中,在VM options中填入:
-Dapollo.meta=http://192.168.233.128:8080 -Denv=dev
(2)運(yùn)行jar包方式,展開(kāi)IntelliJ IDEA右側(cè)Maven -> 找到apollo模塊Lifecycle菜單,分別雙擊clean、install,將target目錄下生成的apollo.jar上傳到centos7,并使用java命令啟動(dòng):
[root@localhost ~]# java -jar -Dapollo.meta=http://192.168.233.128:8080 -Denv=dev apollo.jar &
(3)訪(fǎng)問(wèn)Web應(yīng)用"/user"接口顯示獲取到的key1值可以看到效果(不停止Web應(yīng)用,修改Apollo配置中心的key1值,重新發(fā)布,再刷新以下接口,可以看到值已經(jīng)變成新的了):
http://192.168.233.128:10006/user
到此這篇關(guān)于詳解JavaEE中Apollo安裝使用的文章就介紹到這了,更多相關(guān)JavaEE Apollo安裝 使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaEE線(xiàn)程安全實(shí)現(xiàn)線(xiàn)程池方法
- JavaEE的進(jìn)程,線(xiàn)程和創(chuàng)建線(xiàn)程的5種方式詳解
- 2020新版idea創(chuàng)建項(xiàng)目沒(méi)有javaEE 沒(méi)有Web選項(xiàng)的完美解決方法
- JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis
- JavaEE Spring MyBatis如何一步一步實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢(xún)功能
- JavaEE實(shí)現(xiàn)基于SMTP協(xié)議的郵件發(fā)送功能
- 詳解Javaee Dao層的抽取
- 詳解JavaEE 使用 Redis 數(shù)據(jù)庫(kù)進(jìn)行內(nèi)容緩存和高訪(fǎng)問(wèn)負(fù)載
- JNDI在JavaEE中的角色_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- JavaEE線(xiàn)程安全定時(shí)器模式任務(wù)
相關(guān)文章
Java發(fā)送form-data請(qǐng)求的實(shí)例代碼
在Java中發(fā)送form-data請(qǐng)求,可以使用Apache?HttpClient或OkHttp這樣的HTTP客戶(hù)端庫(kù)來(lái)發(fā)送請(qǐng)求,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-10-10如何使用IDEA新建一個(gè)普通的Javaweb項(xiàng)目
今天給大家普及如何使用IDEA新建一個(gè)普通的Javaweb項(xiàng)目及配置tomcat的方法,在文末給大家提到如果不想每次都重啟tomcat,可以設(shè)置快捷方式,對(duì)idea新建Javaweb項(xiàng)目感興趣的朋友一起看看吧2021-06-06淺談maven 多環(huán)境打包發(fā)布的兩種方式
這篇文章主要介紹了淺談maven 多環(huán)境打包發(fā)布的兩種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Thymeleaf渲染網(wǎng)頁(yè)時(shí)中文亂碼的問(wèn)題及解決
這篇文章主要介紹了Thymeleaf渲染網(wǎng)頁(yè)時(shí)中文亂碼的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Java?C++算法題解leetcode801使序列遞增的最小交換次數(shù)
這篇文章主要為大家介紹了Java?C++題解leetcode801使序列遞增的最小交換次數(shù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10java中的equals()和toString()方法實(shí)例詳解
這篇文章主要介紹了java中的equals()和toString()方法實(shí)例詳解的相關(guān)資料,這里舉例說(shuō)明,并附實(shí)例代碼,和實(shí)現(xiàn)效果圖,需要的朋友可以參考下2016-11-11詳解Java LinkedHashMap與HashMap的使用
這篇文章主要通過(guò)幾個(gè)示例為大家詳細(xì)介紹了Java中LinkedHashMap與HashMap的常見(jiàn)使用和概述,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-10-10Java微信公眾平臺(tái)開(kāi)發(fā)(9) 關(guān)鍵字回復(fù)以及客服接口實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)開(kāi)發(fā)第九步,關(guān)鍵字回復(fù)以及客服接口實(shí)現(xiàn),以及遇到該公眾號(hào)暫時(shí)無(wú)法提供服務(wù)的解決方案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04