ubuntu14.04 spring cloud config server + gradle搭建
Server端:
在eclipse上,创建Java Project项目。自带的src包删掉手动建文件夹。基础的目录文件都创建上
|--ZSpringCloud
|--build.gradle
|----src
|------main
|--------java
|--------resources
配置build.gradle文件:
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.7.RELEASE")
classpath("org.springframework:springloaded:1.2.0.RELEASE")
classpath("nz.org.geonet:gradle-build-version-plugin:1.0.4")
classpath("io.spring.gradle:dependency-management-plugin:0.5.6.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'io.spring.dependency-management'
jar {
baseName = 'spring-cloud-service'
version = '0.0.1'
}
repositories {
maven { url "https://repo.spring.io/libs-milestone" }
mavenLocal()
mavenCentral()
}
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-netflix:1.2.0.M1'
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Camden.SR2'
}
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile("org.springframework.cloud:spring-cloud-starter-parent:Brixton.SR4")
compile("org.springframework.boot:spring-boot-starter-security")
compile("org.springframework.cloud:spring-cloud-config-server")
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-actuator")
}
当时报了很多错,从晚上找了很多东西,不记得哪个是解决问题的了,所有的依赖都粘上了应该有没用的。
现在已经有了空文件夹,和一个写好的build.gradle文件,打开一个终端进入ZSpringCloud目录。
gradle eclipse
eclipse调成Spring的视图看的更舒服写。执行完成后这个样子(现在还没有build文件夹),确保项目没有一个大感叹号。

在src/main/java里创建main类(Application名字随便起),先建个空的。
public class Application {
public static void main(String[] args) {
}
}
现在有程序入口,在终端执行
gradle build
gradle eclipse
确保执行成功,中间应该不会出错了,出错搜一下。
修改Application类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.config.server.EnableConfigServer;
import org.springframework.context.annotation.Configuration; @Configuration
@EnableAutoConfiguration
@EnableConfigServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在src/main/resources里创建两个文件,application.properties和bootstarp.properties
#<application.properties>
server.port=8888 #Server跑的端口 security.basic.enabled=false #这两个spring验证的,不加这个两个会报一个
management.security.enabled=false #Spring的安全的什么错误,应该能解决,但是现在先不管。如果不加访问的时候需要用户名和密码,这个用户和密码不知道在哪
#<bootstrap.properties>
spring.cloud.config.server.git.uri=git@192.168.1.6:fzk/SpringCloudTest.git #是从哪个地方获取配置文件,ssh路径的跑通了,http待研究
#spring.cloud.config.server.git.uri=http://192.168.1.6/root/SpringCloudTest.git
spring.cloud.config.server.git.searchPaths=repo #这个是进入上面的路径后,从哪个文件夹搜索文件 #spring.application.name=configserver
#spring.application.label=master #label名,分支名,如果写了,以后在获取的时候需要加上{label}
现在就已经能启动项目了,先启动一下看看哪里报错了。没报错先放着,还有一大堆服务器的东西需要配置。
我自己在另外一个虚拟机上搭了一个gitlab,这个可以不用自己搭,随便找个gitlab库能放代码就可以了。如果自己搭了最好设成静态ip。(虚拟机ip:192.168.1.6)
在gitlab上建一个存配置文件的项目<SpringCloudTest>,在本地建一个SpringCloudTest的文件夹,在里面建一个repo文件夹,repo里建一个fzk-beta.properties文件
|SpringCloudTest
|--repo
|----fzk-beta.properties
把这个项目推上gitlab建的项目上,从本地文件夹push的方法在gitlab剪完项目后最下面的那块告诉怎么弄了。
gitlab剪完项目后点击项目名就看见两个地址,ssh和http,就是在Server端 bootstrap.properties的 spring.cloud.config.server.git.uri 配置的路径。
现在项目已经建完了,开始服务器的配置。现在有两个服务器,一个是跑Server的A,一个gitlab的B。
在A上,用什么用户跑这个程序就用什么用户生成一对秘钥,我全是用普通用户跑的。在A上执行
ssh-keygen -t rsa
在用户的~/.ssh/ 目录下会生成一对秘钥,id_rsa id_rsa.pub。把id_rsa.pub的内容复制到gitlab项目的Deploy Keys中
Deploy Keys的位置在:在浏览器上找到你的那个项目,右上角有个一看就是设置的按钮,点开就能找到Deploy Keys ,点击进入title就是随便起的名,下面大的文本框里粘贴上刚才从公钥中复制的内容。确保最下面秘钥列表中刚才弄的那个公钥是enable的。默认就是。
在A上通过ssh 链接一下gitlab的服务器,保证A上能识别这个ip。问是不是永久储存在knowhosts中,yes。
ssh root@192.168.1.6
如果现在就开始访问,还是不成功,说什么不识别B的ip或者秘钥不对之类的错误。
在A上进入 ~/.ssh/ 目录,vim config。把下面内容复制上,改一下。
Host 192.168.1.6 #B的域名或ip
RSAAuthentication yes #是否公钥验证
StrictHostKeyChecking no #看这个意思应该是什么严格的验证之类的
IdentityFile /home/fzk/.ssh/id_rsa #通过公钥验证的私钥的位置
User fzk #在gitlab上注册的用户名,登陆的时候的那个
好,现在就已经全部完事了。
在浏览器上输入:
http://localhost:8888/fzk/beta
{"name":"fzk","profiles":["beta"],"label":"master","version":"ebcf17eac0699644200aca3b8b0d1a23563ce242","state":null,"propertySources":[{"name":"git@192.168.1.6:fzk/SpringCloudTest.git/repo/fzk-beta.properties","source":{"server.port":"8013","fzk.nick":"badboy"}}]}
http://localhost:8888/fzk-beta.properties
fzk.nick: badboy
server.port: 8013
访问格式:
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
ubuntu14.04 spring cloud config server + gradle搭建的更多相关文章
- 为Spring Cloud Config Server配置远程git仓库
简介 虽然在开发过程,在本地创建git仓库操作起来非常方便,但是在实际项目应用中,多个项目组需要通过一个中心服务器来共享配置,所以Spring Cloud配置中心支持远程git仓库,以使分散的项目组更 ...
- Spring Cloud Config Server 节点迁移引起的问题,请格外注意这一点!
前言: 虽然强烈推荐选择使用国内开源的配置中心,如携程开源的 Apollo 配置中心.阿里开源的 Nacos 注册&配置中心. 但实际架构选型时,根据实际项目规模.业务复杂性等因素,有的项目还 ...
- 搭建spring cloud config
很久没更新了,因为不是专职研究spring cloud,因此更新速度得看工作强度大不大,每天能抽出的时间不多,如果更新太慢了,并且有小伙伴看的话,请见谅了. Spring Cloud简介 Spring ...
- Spring Cloud Config(三):基于JDBC搭建配置中心
1.简介 本文主要内容是基于jdbc搭建配置中心,使应用从配置中心读取配置信息并成功注册到注册中心,关于配置信息表结构仅供参考,大家可以根据具体需要进行扩展. 2.Config Server 搭建 2 ...
- Spring Cloud Config(二):基于Git搭建配置中心
1.简述 本文选用Git作为配置仓库,新建两个环境的配置文件夹,dev 和 test,文件夹中分别存放 Config Client 端的配置文件,目录结构如下: ├ ─ ─ dev └ ─ ─ con ...
- Spring Cloud搭建手册(2)——Spring Cloud Config
※在Dalston.SR2版本以后,均不能正常加密,如果必须使用此功能,需要降级到SR1或Camden SR7. 1.首先需要创建一个config-server工程,作为配置中心的服务器,用来与git ...
- Spring Cloud Config 搭建Config 服务
配置中心: open API 配置生效监控 一致性的K-V存储 统一配置的实时推送 配置全局恢复.备份.历史版本 高可用集群 通过config 获取配置,流程: 下面介绍,基于spring cloud ...
- Spring Cloud config之三:config-server因为server端和client端的健康检查导致服务超时阻塞问题
springcloud线上一个问题,当config-server连不上git时,微服务集群慢慢的都挂掉. 在入口层增加了日志跟踪问题: org.springframework.cloud.config ...
- Spring Cloud官方文档中文版-Spring Cloud Config(上)
官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#spring-cloud-feign 文中例子我做了一些测试在:http ...
随机推荐
- 51单片机 | 实现SMC1602液晶屏显示实例
———————————————————————————————————————————— LCD1602 - - - - - - - - - - - - - - - - - - - - - - - - ...
- Android开发环境搭建 for windows (linux类似) 详细可参考“文件”中“Android开发环境搭建.pdf ”
ADT-Bundle for Windows 是由Google Android官方提供的集成式IDE,已经包含了Eclipse,你无需再去下载Eclipse,并且里面已集成了插件,它解决了大部分新手通 ...
- viewDidLayoutSubviews在ios7上导致应用崩溃
在ios8中使用viewDidLayoutSubviews,应用正常运行,没有问题,但是应用在ios7上运行的时候,报错,导致应用崩溃,错误信息类似: Cannot find executable f ...
- ssh隧道远程连接mysql
有时候比如一些云主机,没有开放3306端口,这里可以用ssh隧道来连接数据库,更加安全 注意点: 1.本地ssh可以登录远程服务器,(密码或者秘钥) 2.远程数据库需要赋权限给隧道端的ip 命令: s ...
- Mongodb基本操作入门,增删改查和索引
主要进程 mongod.exe为启动数据库实例的进程. mongo是一个与mongod进程进行交互的JavaScript shell进程,它提供了一些交互的接口函数用户对数据库的管理. 基本命令 sh ...
- centos7 firefox 安装flash
在官网下载flash的tar包 https://get.adobe.com/flashplayer/?spm=a2h0j.8191423.movie_player.5~5~5~8~A 在下载tar包的 ...
- Pentaho 免费版本下载地址列表
Pentaho CE(Community Edition) 免费版本下载地址列表 http://sourceforge.net/projects/pentaho/files/Pentaho 插件名称 ...
- linux系统寻找僵尸进程
1. 用top命令来查看服务器当前是否有僵尸进程. 2. 用ps和grep命令寻找僵尸进程 $ ps -A -ostat, pid, ppid, cmd | grep -e '^[Zz]' 命令解释: ...
- instagram架构分析_转
转自:http://www.eit.name/blog/read.php?504 Instagram 团队上个月才迎来第 7 名员工,是的,7个人的团队.作为 iPhone 上最火爆的图片类工具,in ...
- 检测session用户信息跳转首页界面
方案一:采用jsp方式检测用户信息跳转 <%@ page language="java" pageEncoding="UTF-8"%> <%@ ...