springboot2.x简单详细教程--高级篇幅之云服务器介绍和部署生产环境实战(第十七章)

一、阿里云服务器介绍和使用讲解


    简介:阿里云服务器介绍和使用讲解

1)

2)第一次需要注册

3)控制台


二、阿里云Linux服务器部署JDK8实战


    简介:在阿里云服务器上安装JDK8和配置环境变量

   jdk 下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

  Xshell连接阿里ecs服务器的教程

https://blog.csdn.net/u013894429/article/details/78811823

 lnux下使用wget下载jdk8:
    进到目录root/usr/local/software

阿里服务器 安装jdk

 1)

2)解压

tar -zxvf +压缩包名

3)

  配置环境变量
    vim /etc/profile
    加入
   4)  a) i进行编辑    b)编辑完成按ESC    c)输入:wq保存退出

注意 : jdk路径补充/root/完整更好,反正一开没加报错了

    export JAVA_HOME=/root/usr/local/java/software/jdk1.8.0_191
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JAVA_HOME PATH CLASSPATH

  5)输入:wq提示没有权限

6):set noreadonly 命令 再输入:wq即可

7) 使用 source /etc/profile   让配置立刻生效

本地虚拟机 安装jdk 同理

三、阿里云服务器SpringBoot2.x生产环境部署实战


    简介:讲解SpringBoot生产环境部署和常见注意事项
    
    
    1、去除相关生产环境没用的jar
        比如热部署dev-tool

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.itcast</groupId>
	<artifactId>Springboot08_A</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
	</parent>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>	
		
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

  2)controller

package com.itcast.demo.controller;


import java.util.Date;


import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.itcast.demo.domain.JsonData;
import com.itcast.demo.domain.User;

/**
 *@lanpo
 */
@RestController
@RequestMapping("/api/v1/user")
public class UserController {
	
	
	/**
	 * 功能描述: 测试接口
	 * @return
	 */
	@GetMapping("find")
	public Object find(){
		
		User user = new User();
		user.setAge(11);
		user.setCreateTime(new Date());
		user.setName("popopo");
		user.setPhone("10010000");
		
       return JsonData.buildSuccess(user);
	}
	
	
	
	
	
}

3)实体类User

package com.itcast.demo.domain;

import java.util.Date;

public class User {

	private int id;
	
	private String name;
	
	private String phone;
	
	private int age;
	
	private Date createTime;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	
	
	
}

4)响应结果类 可不写

package com.itcast.demo.domain;

import java.io.Serializable;

/**
 * 功能描述:响应结果类
 *
 * <p>
 *
 * </p>
 *
 * @作者 lanpo
 */
public class JsonData implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private Integer code; // 状态码 0 表示成功,1表示处理中,-1表示失败
	private Object data; // 数据
	private String msg;// 描述

	public JsonData() {
	}

	public JsonData(Integer code, Object data, String msg) {
		this.code = code;
		this.data = data;
		this.msg = msg;
	}

	// 成功,传入数据
	public static JsonData buildSuccess() {
		return new JsonData(0, null, null);
	}

	// 成功,传入数据
	public static JsonData buildSuccess(Object data) {
		return new JsonData(0, data, null);
	}

	// 失败,传入描述信息
	public static JsonData buildError(String msg) {
		return new JsonData(-1, null, msg);
	}

	// 失败,传入描述信息,状态码
	public static JsonData buildError(String msg, Integer code) {
		return new JsonData(code, null, msg);
	}

	// 成功,传入数据,及描述信息
	public static JsonData buildSuccess(Object data, String msg) {
		return new JsonData(0, data, msg);
	}

	// 成功,传入数据,及状态码
	public static JsonData buildSuccess(Object data, int code) {
		return new JsonData(code, data, null);
	}

	public Integer getCode() {
		return code;
	}

	public void setCode(Integer code) {
		this.code = code;
	}

	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	@Override
	public String toString() {
		return "JsonData [code=" + code + ", data=" + data + ", msg=" + msg
				+ "]";
	}

}

 2、本地maven打包成jar包 
        mvn clean package  -Dmaven.test.skip=true 跳过测试

说明:

   mvn clean :用maven 去清除我们缓存的文件夹

   package  :打包

   手动打jar包

      项目  >>右键  >>RUN  AS  >>  MAVEN install

    3、服务器安装jdk,上传Jar包
        上传工具:
            windows:
                winscp
                securtyCRT

                Xshell
            mac:
                filezilla
    1)用Xshell上传jar包

     

 2)启动jar包 java -jar +加jar文件名

3) 访问路径 :  http://47.95.209.26:8080/api/v1/user/find

  注意:     此时退出终端时,访问不了

 

三个方法: 守护进程、系统服务、shell脚本

守护进程的方法

      

       此时访问 OK

 

  4.  打包指定properties配置文件 (test ,dev)
            1、使用maven的profiles
            2、使用springboot的profile=active

    访问不了
        1、阿里云防火墙是否开启,可以选择关闭,关闭是不安全的,可以选择开放端口
        2、阿里云的安全访问组,开启对应的端口,如果应用是以80端口启动,则默认可以访问

    5、成熟的互联网公司应该有的架构
        本地提交生产代码jar包->gitlab仓库->Jenkins自动化构建->运维或者开发人员发布

  Jenkins 可以部署代码和构建应用

猜你喜欢

转载自blog.csdn.net/jianchilu/article/details/83962922
今日推荐