詳解JavaEE中Apollo安裝使用小結(jié)
說明:
Apollo是配置管理中心,和SpringCloud-Config實(shí)現(xiàn)的功能有點(diǎn)相似。
一、安裝MySQL 5.7.37(主機(jī):192.168.233.128,用戶/密碼: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.安裝依賴:
[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)程訪問:
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ù)庫:
(1)使用Navicat連接mysql5,創(chuàng)建ApolloPortalDB、ApolloConfigDB數(shù)據(jù)庫:
注:ApolloPortalDB在生產(chǎn)環(huán)境部署,而ApolloConfigDB需要每個(gè)環(huán)境部署一套。
(2)導(dǎo)入apolloportaldb.sql到ApolloPortalDB數(shù)據(jù)庫(sql文件在apollo-quick-start-1.9.2/sql目錄中):
使用Navicat右擊ApolloPortalDB數(shù)據(jù)庫,運(yùn)行 SQL 文件,選擇apolloportaldb.sql,點(diǎn)開始按鈕。
(3)導(dǎo)入apolloconfigdb.sql到ApolloConfigDB數(shù)據(jù)庫(sql文件在apollo-quick-start-1.9.2/sql目錄中):
使用Navicat右擊ApolloConfigDB數(shù)據(jù)庫,運(yùn)行 SQL 文件,選擇apolloconfigdb.sql,點(diǎn)開始按鈕。
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ù)庫連接信息:
[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.打開Apollo首頁(用戶apollo,密碼admin):
http://192.168.233.128:8070
三、Web應(yīng)用接入Apollo(SpringBoot):
1.在Apollo中創(chuàng)建應(yīng)用:
(1)在首頁,點(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依賴:
<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)頁上創(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 #配置訪問密鑰,在Apollo首頁-管理密鑰中創(chuàng)建密鑰
property:
names:
cache:
enable: true #開啟propertyNames緩存
bootstrap:
enabled: true #開啟 Apollo
namespaces: application #可以注入多個(gè)命名空間,以逗號(hào)分隔
#eagerLoad:
# enabled: true #將apollo初始化放在日志系統(tǒng)初始化之前(3)Application啟動(dòng)類添加@EnableApolloConfig注解:
@SpringBootApplication
@EnableApolloConfig //開啟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包方式,展開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)訪問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線程安全實(shí)現(xiàn)線程池方法
- JavaEE的進(jìn)程,線程和創(chuàng)建線程的5種方式詳解
- 2020新版idea創(chuàng)建項(xiàng)目沒有javaEE 沒有Web選項(xiàng)的完美解決方法
- JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis
- JavaEE Spring MyBatis如何一步一步實(shí)現(xiàn)數(shù)據(jù)庫查詢功能
- JavaEE實(shí)現(xiàn)基于SMTP協(xié)議的郵件發(fā)送功能
- 詳解Javaee Dao層的抽取
- 詳解JavaEE 使用 Redis 數(shù)據(jù)庫進(jìn)行內(nèi)容緩存和高訪問負(fù)載
- JNDI在JavaEE中的角色_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- JavaEE線程安全定時(shí)器模式任務(wù)
相關(guān)文章
Java發(fā)送form-data請(qǐng)求的實(shí)例代碼
在Java中發(fā)送form-data請(qǐng)求,可以使用Apache?HttpClient或OkHttp這樣的HTTP客戶端庫來發(fā)送請(qǐng)求,本文通過實(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ā)布的兩種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
Thymeleaf渲染網(wǎng)頁時(shí)中文亂碼的問題及解決
這篇文章主要介紹了Thymeleaf渲染網(wǎng)頁時(shí)中文亂碼的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Java?C++算法題解leetcode801使序列遞增的最小交換次數(shù)
這篇文章主要為大家介紹了Java?C++題解leetcode801使序列遞增的最小交換次數(shù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
java中的equals()和toString()方法實(shí)例詳解
這篇文章主要介紹了java中的equals()和toString()方法實(shí)例詳解的相關(guān)資料,這里舉例說明,并附實(shí)例代碼,和實(shí)現(xiàn)效果圖,需要的朋友可以參考下2016-11-11
詳解Java LinkedHashMap與HashMap的使用
這篇文章主要通過幾個(gè)示例為大家詳細(xì)介紹了Java中LinkedHashMap與HashMap的常見使用和概述,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-10-10
Java微信公眾平臺(tái)開發(fā)(9) 關(guān)鍵字回復(fù)以及客服接口實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)開發(fā)第九步,關(guān)鍵字回復(fù)以及客服接口實(shí)現(xiàn),以及遇到該公眾號(hào)暫時(shí)無法提供服務(wù)的解決方案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04

