SpringCloud外网部署整合之旅(1)------基本运行

融汇复习一下之前学的SpringCloud

首先我要在服务器安装一个数据库,我先选择用Oraclexe(有限制的免费版),用docker安装一下先

https://dev.aliyun.com/detail.html?spm=5176.1972343.2.194.2f075aaaHY4aOv&repoId=5682

docker pull registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g

稍等下安装完成后指定端口用容器运行他

docker run -d -p 50111:22 -p 1521:1521 registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g

我们用plsql工具连接他看看可以不,由说明说的默认密码都是oracle 实例名是xe

连了一下显示超时,这是因为默认服务器没有开放1521端口来设置一下

SpringCloud外网部署整合之旅(1)------基本运行_第1张图片

设置好就可以去访问了,用系统用户访问,后创建个用户来耍一耍例如sola并给他设置一个dba角色

然后我们就可以愉快的建立一个表,愉快的查询一下

SpringCloud外网部署整合之旅(1)------基本运行_第2张图片

我们来建立一个普通的springboot写个查询接口来测试看看有什么问题不

嗯。。首先运行java程序得在linux 安装 jdk 正好一会可以看看有没有一个问题(docker 的jdk问题)

来安装下jdk

https://blog.csdn.net/evan_chen_1/article/details/55097252

我们先来快速简单安装方法yum

yum  install  java-1.8.0-openjdk   java-1.8.0-openjdk-devel

中途会询问,安装完成显示Complete!  看看版本安装成功没

嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯,下面我们可以去编写JAVA代码了

建立个springboot项目加入这些依赖



	4.0.0

	com.sola
	Sola-User
	1.0.0
	jar

	Sola-User
	ForUser

	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.5.RELEASE
		 
	

	
		UTF-8
		UTF-8
		1.8
	

	
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			1.3.2
		
		
		
  			com.oracle
  			ojdbc14
  			10.2.0.4.0
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
		
		
		
			io.springfox
			springfox-swagger2
			2.7.0
		

		
			io.springfox
			springfox-swagger-ui
			2.7.0
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	



差不多了,然后去写配置文件,大概就这么写写

server:
  port: 35520
spring:
  application:
    name: SOLAUSER
  datasource:
    url: jdbc:oracle:thin:@99.99.99.99:1521:xe
    username: sola
    password: sola
    driver-class-name: oracle.jdbc.driver.OracleDriver
    
mybatis:
  mapper-locations:
  - classpath*:com/sola/mappers/**/*.xml

项目结构就这样,代码只是一个select * 的查询

SpringCloud外网部署整合之旅(1)------基本运行_第3张图片

然后去运行 swagger去测试可以出数据,然后我们就要正常的打包去linux上部署一下看看会出啥问题

打包pom配置


		
			
			
				org.springframework.boot
				spring-boot-maven-plugin
				
					exec 
				
			
            
				org.apache.maven.plugins
				maven-surefire-plugin
				
					true    
				
			
		
	
      
          
            src/main/resources  
              
                **/*.properties  
                **/*.xml  
                **/*.tld  
              
            false  
          
          
            src/main/java  
              
                **/*.properties  
                **/*.xml  
                **/*.tld  
              
            false  
          
      

在打包的时候出了一个问题 提示

The requested profile "pom.xml" could not be activated because it does not e

大概是说和pom相关有问题网上搜了一下 解决方法是

右键项目属性然后选择maven

SpringCloud外网部署整合之旅(1)------基本运行_第4张图片

之前框里有pom.xml,删掉框内容对勾留着应用貌似就可以了

然后又出了个问题 运行后控制台报错

2018-10-08 15:39:27.948  WARN 15372 --- [io-35520-exec-2] com.zaxxer.hikari.util.DriverDataSource  : Registered driver with driverClassName=oracle.jdbc.driver.OracleDriver was not found, trying direct instantiation.

解决方法

driver-class-name: oracle.jdbc.driver.OracleDriver
改成了
driver-class-name: oracle.jdbc.OracleDriver

(搞了一下午的各种bug原因是因为我服务器太慢了。。。。)

嗯 最后运行是可以运行的 就是第一次运行要等很久很久

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

上面既然都可以了 往上扔一个Eureka服务器试试=。=

先建立个springboot工程再加入各种依赖(就加一个EurekaServer依赖),然后启动类添加开启注解。

我们这里就用一个eurekaServer(暂时不高可用),所以在配置中指定端口,并注册自己

server:
  port: 35020
eureka:
  client:
    service-url:
      defaultZone: http://localhost:30520/eureka/

运行一下看看,没问题的话 打个jar包扔到服务器上去

嗯。。。。。。。。。。。。。。。。。果按之前写的配置文件有问题

改了之后还出了一点问题

SpringCloud外网部署整合之旅(1)------基本运行_第5张图片

选了第一个启动项目,又报错了= =0

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-10-11 14:12:22.200 ERROR 17916 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to bind properties under 'eureka.client.service-url' to java.util.Map:

    Reason: No converter found capable of converting from type [java.lang.String] to type [java.util.Map]

Action:

Update your application's configuration

刨坑发现点进配置里,要放入map值

SpringCloud外网部署整合之旅(1)------基本运行_第6张图片

 又设置成之前yml配置,还是报错= =0,仔细一看 自己配置的端口号都不一样,真是个逗比!

运行完没问题,扔到服务器上看看

SpringCloud外网部署整合之旅(1)------基本运行_第7张图片

运行成功,但是有个小问题,日志的问题,让后台运行的话就完全看不到控制台的内容了,所以还要设置一个log日志

在配置文件中加入,就在根目录输出日志了

logging:
  file: springcloud.log

然后linux运行jar命令

java -jar xxx.jar

但是上面这个命令虽然运行了但是窗口一关就关闭服务了,所以下面有个加强版命令

java -jar xxx.jar &

输入完上面后再ctrl+z 输入exit 退出窗口,程序依然运行 如果想关闭服务 就得去查找 然后kill了他

查找占用30520端口的进程

netstat -nlp |grep :30520

 OK第一部分完结

你可能感兴趣的:(SpringCloud)