源无极

导航

 

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


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

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

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4     <groupId>com.itcast</groupId>
 5     <artifactId>Springboot08_A</artifactId>
 6     <version>0.0.1-SNAPSHOT</version>
 7     <parent>
 8         <groupId>org.springframework.boot</groupId>
 9         <artifactId>spring-boot-starter-parent</artifactId>
10         <version>2.0.1.RELEASE</version>
11     </parent>
12     <dependencies>
13         <dependency>
14             <groupId>org.springframework.boot</groupId>
15             <artifactId>spring-boot-starter-web</artifactId>
16         </dependency>    
17         
18     </dependencies>
19     <build>
20         <plugins>
21             <plugin>
22                 <groupId>org.springframework.boot</groupId>
23                 <artifactId>spring-boot-maven-plugin</artifactId>
24             </plugin>
25         </plugins>
26     </build>
27 
28 </project>

 

 

  2)controller

 1 package com.itcast.demo.controller;
 2 
 3 
 4 import java.util.Date;
 5 
 6 
 7 import org.springframework.web.bind.annotation.GetMapping;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 import org.springframework.web.bind.annotation.RestController;
10 
11 import com.itcast.demo.domain.JsonData;
12 import com.itcast.demo.domain.User;
13 
14 /**
15  *@lanpo
16  */
17 @RestController
18 @RequestMapping("/api/v1/user")
19 public class UserController {
20     
21     
22     /**
23      * 功能描述: 测试接口
24      * @return
25      */
26     @GetMapping("find")
27     public Object find(){
28         
29         User user = new User();
30         user.setAge(11);
31         user.setCreateTime(new Date());
32         user.setName("popopo");
33         user.setPhone("10010000");
34         
35        return JsonData.buildSuccess(user);
36     }
37     
38     
39     
40     
41     
42 }

 

3)实体类User

 1 package com.itcast.demo.domain;
 2 
 3 import java.util.Date;
 4 
 5 public class User {
 6 
 7     private int id;
 8     
 9     private String name;
10     
11     private String phone;
12     
13     private int age;
14     
15     private Date createTime;
16 
17     public int getId() {
18         return id;
19     }
20 
21     public void setId(int id) {
22         this.id = id;
23     }
24 
25     public String getName() {
26         return name;
27     }
28 
29     public void setName(String name) {
30         this.name = name;
31     }
32 
33     public String getPhone() {
34         return phone;
35     }
36 
37     public void setPhone(String phone) {
38         this.phone = phone;
39     }
40 
41     public int getAge() {
42         return age;
43     }
44 
45     public void setAge(int age) {
46         this.age = age;
47     }
48 
49     public Date getCreateTime() {
50         return createTime;
51     }
52 
53     public void setCreateTime(Date createTime) {
54         this.createTime = createTime;
55     }
56 
57     
58     
59     
60 }

 

4)响应结果类 可不写

 1 package com.itcast.demo.domain;
 2 
 3 import java.io.Serializable;
 4 
 5 /**
 6  * 功能描述:响应结果类
 7  *
 8  * <p>
 9  *
10  * </p>
11  *
12  * @作者 lanpo
13  */
14 public class JsonData implements Serializable {
15 
16     /**
17      * 
18      */
19     private static final long serialVersionUID = 1L;
20 
21     private Integer code; // 状态码 0 表示成功,1表示处理中,-1表示失败
22     private Object data; // 数据
23     private String msg;// 描述
24 
25     public JsonData() {
26     }
27 
28     public JsonData(Integer code, Object data, String msg) {
29         this.code = code;
30         this.data = data;
31         this.msg = msg;
32     }
33 
34     // 成功,传入数据
35     public static JsonData buildSuccess() {
36         return new JsonData(0, null, null);
37     }
38 
39     // 成功,传入数据
40     public static JsonData buildSuccess(Object data) {
41         return new JsonData(0, data, null);
42     }
43 
44     // 失败,传入描述信息
45     public static JsonData buildError(String msg) {
46         return new JsonData(-1, null, msg);
47     }
48 
49     // 失败,传入描述信息,状态码
50     public static JsonData buildError(String msg, Integer code) {
51         return new JsonData(code, null, msg);
52     }
53 
54     // 成功,传入数据,及描述信息
55     public static JsonData buildSuccess(Object data, String msg) {
56         return new JsonData(0, data, msg);
57     }
58 
59     // 成功,传入数据,及状态码
60     public static JsonData buildSuccess(Object data, int code) {
61         return new JsonData(code, data, null);
62     }
63 
64     public Integer getCode() {
65         return code;
66     }
67 
68     public void setCode(Integer code) {
69         this.code = code;
70     }
71 
72     public Object getData() {
73         return data;
74     }
75 
76     public void setData(Object data) {
77         this.data = data;
78     }
79 
80     public String getMsg() {
81         return msg;
82     }
83 
84     public void setMsg(String msg) {
85         this.msg = msg;
86     }
87 
88     @Override
89     public String toString() {
90         return "JsonData [code=" + code + ", data=" + data + ", msg=" + msg
91                 + "]";
92     }
93 
94 }

 

 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 可以部署代码和构建应用

posted on 2018-11-29 22:35  源无极  阅读(172)  评论(0编辑  收藏  举报