当前位置:   article > 正文

【Java开发】 Spring 11 :Spring Boot 项目部署至云服务器_springboot部署到服务器

springboot部署到服务器

Spring Boot 项目开发结束后的工作便是运维,简单来说需要配置 Web 运行参数和项目部署两大工作,本文将尽可能详细地给大家讲全!

目录

1 定制 Web 容器运行参数

1.1 运行参数介绍

1.2 项目搭建

① 通过 IDEA Spring Initializr 创建项目

② 添加 Spring Web 等依赖

③ 编写 controller 层的接口

④ 测试接口

1.2 定制运行参数

① 配置压缩支持 + 报错处理

② 报错处理

③ 压缩支持

2 将应用以 Jar 包形式部署至服务器

2.1 云服务器安装 JDK8

① 下载 linux 版本下的 jdk

② 上传至指定文件夹并解压

③ 配置环境变量

④ 验证

2.2 以 jar 包形式将 Spring Boot 项目部署到云服务器

① 添加maven依赖

② 通过 idea 打包项目

③ 项目上传到服务器

④ 在服务器运行 jar 文件

⑤ 云服务器防火墙设置

⑥ 浏览器访问

3 将应用以 Docker 镜像文件形式部署至服务器

3.1 Dockerfile 文件

① 新建 Dockerfile 文件

② 将 Dockerfile 文件上传至服务器

3.2 以  Dockerfile 文件形式将 Spring Boot 项目部署到云服务器 

① 将项目打包成 jar 并放到服务器

② 在当前目录下运行指令,构建镜像

③ 运行镜像并检验


项目源码尹煜 / rundemo · GitCode

1 定制 Web 容器运行参数

1.1 运行参数介绍

Ⅰ 可选容器列表

其实 Spring Boot 不仅支持 Tomcat,还支持 jetty、undertow 等容器,本项目采用的是 Tomcat ,若要更换容器,需要将 spring-boot-starter-tomcat 从 Web 的 starter 里去掉,然后引入像 jetty 这样的 starter ~

  • spring-boot-starter-tomcat
  • spring-boot-starter-jetty
  • spring-boot-starter-undertow
  • spring-boot-starter-reactor-netty

Ⅱ 端口

  • server.port:指定端口号
  • server.address:指定地址

Ⅲ 压缩支持

  • server.compression.enabled=true:开启压缩支持
  • server.compression.min-response-size:设置最小需要压缩的大小 默认为2t
  • server.compression.mime-types:设置默认压缩的类型

Ⅳ Tomcat 特定配置

  • server.tomcat.max-connections=10000:最大连接数
  • server.tomcat.max-http-post-size=2MB:设置post参数字符串大小
  • server.tomcat.max-swallow-size=2MB:请求正文的最大大小
  • server.tomcat.max-threads=200:最大线程数量
  • server.tomcat.min-spare-threads=10:最小空闲线程数

Ⅴ 错误处理

  • server.error.path=/error:错误页地址
  • server.error.include-exception=false:是否在错误页面显示异常信息
  • server.error.include-stacktrace=never:是不是要打出 stacktrace(堆栈轨迹),在开发环境中可以打开 在产线上不要打开
  • server.error.whitelabel.enabled=true:是否开启默认的错误页面

Ⅵ 其他

  • server.use-forward-headers:设置一些头,通过头传递真实的来源ip
  • server.servlet.session.timeout:设置 session 的超时

Ⅶ 通过编程方式

通过WebServerFactoryCustomizer<T>做一些定制,在 1.3 可以看到

  • TomcatServletWebServerFactory
  • JettyServletWebServerFactory
  • UndertowServletWebServerFactory

1.2 项目搭建

由于只是用作演示 Web 容器运行和部署,因此本项目很简单,写了几个简单的接口,而且也不连接数据库,以下是项目搭建的流程。

① 通过 IDEA Spring Initializr 创建项目

② 添加 Spring Web 等依赖

③ 编写 controller 层的接口

由于项目不做数据库相关操作,所以直接编写接口~

路径:src/main/java/com/rundemo/controller/UserController.java

  1. package com.rundemo.controller;
  2. import org.springframework.web.bind.annotation.RequestMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. @RestController
  7. @RequestMapping("/run")
  8. public class UserController {
  9. @RequestMapping("/visit/{userId}")
  10. public int allUser(@PathVariable("userId") int id) {
  11. return 2/id;
  12. }
  13. @RequestMapping("/demo")//模拟下实体内容返回
  14. public Map<String, String> queryUser() {
  15. Map<String, String> map = new HashMap<>();
  16. map.put("id","1");
  17. map.put("name","yinyu");
  18. map.put("status","ok");
  19. return map;
  20. }
  21. }

④ 测试接口

首先启动启动类

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/57765
推荐阅读
相关标签