SpringBoot项目的云服务器部署

约定不等于承诺〃 2022-06-07 04:45 374阅读 0赞

1.场景还原

  1. springboot配置相当简单,人人皆知。怎么把springboot工程部署到云服务器上呢?可能有人会说,博主你前篇不是讲了java工程的云部署把;但是我想澄清一点的是,我前篇的工程都是ssm框架搭建的,而springboot可是自带tomcat喽!这就有点麻烦….淡定,往下看

2.配置解析

①application.properties文件

  1. # EMBEDDED SERVER CONFIGURATION (ServerProperties)
  2. server.port=8010
  3. server.session-timeout=1800
  4. server.context-path=
  5. server.tomcat.max-threads=0
  6. server.tomcat.uri-encoding=UTF-8
  7. server.tomcat.basedir=target/tomcat
  8. # HTTP encoding (HttpEncodingProperties)
  9. spring.http.encoding.charset=UTF-8
  10. spring.http.encoding.enabled=true
  11. spring.http.encoding.force=true
  12. #datasource
  13. spring.datasource.url=jdbc:mysql://192.168.0.129/ccoee?useUnicode=true&characterEncoding=UTF-8
  14. spring.datasource.username=zhangxing
  15. spring.datasource.password=zxp52077
  16. spring.datasource.driverClassName=com.mysql.jdbc.Driver
  17. #mybatis
  18. mybatis.type-aliases-package=com.cckj.model
  19. mybatis.mapper-locations=classpath:mapper/*.xml
  20. #mapper
  21. mapper.mappers=tk.mybatis.mapper.common.Mapper
  22. mapper.not-empty=false
  23. mapper.identity=MYSQL
  24. #pagehelper
  25. pagehelper.helperDialect=mysql
  26. pagehelper.reasonable=true
  27. pagehelper.supportMethodsArguments=true
  28. pagehelper.params=count=countSql
  29. #logging
  30. #logging.level.root=INFO
  31. #logging.level.org.springframework.web=DEBUG
  32. logging.level.org.zhangxing=DEBUG

就是这个文件 包罗了ssm框架的烦琐配置,哪个程序员不爱呢?那么既然爱,请深爱!将远程数据库连接配好,这里不再赘述。

②pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <packaging>jar</packaging>
  7. <groupId>magic</groupId>
  8. <artifactId>magic</artifactId>
  9. <version>1.0-SNAPSHOT</version>
  10. <parent>
  11. <groupId>org.springframework.boot</groupId>
  12. <artifactId>spring-boot-starter-parent</artifactId>
  13. <version>1.4.3.RELEASE</version>
  14. </parent>
  15. <dependencies>
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-jdbc</artifactId>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.springframework.boot</groupId>
  22. <artifactId>spring-boot-starter-test</artifactId>
  23. </dependency>
  24. <dependency>
  25. <groupId>org.springframework.boot</groupId>
  26. <artifactId>spring-boot-starter-web</artifactId>
  27. </dependency>
  28. <dependency>
  29. <groupId>mysql</groupId>
  30. <artifactId>mysql-connector-java</artifactId>
  31. </dependency>
  32. <dependency>
  33. <groupId>com.alibaba</groupId>
  34. <artifactId>druid</artifactId>
  35. <version>1.0.10</version>
  36. </dependency>
  37. <dependency>
  38. <groupId>org.mybatis.spring.boot</groupId>
  39. <artifactId>mybatis-spring-boot-starter</artifactId>
  40. <version>1.1.1</version>
  41. </dependency>
  42. <dependency>
  43. <groupId>tk.mybatis</groupId>
  44. <artifactId>mapper-spring-boot-starter</artifactId>
  45. <version>1.0.0</version>
  46. </dependency>
  47. <dependency>
  48. <groupId>com.github.pagehelper</groupId>
  49. <artifactId>pagehelper-spring-boot-starter</artifactId>
  50. <version>1.0.0</version>
  51. </dependency>
  52. </dependencies>
  53. <build>
  54. <finalName>helloworld</finalName>
  55. <plugins>
  56. <plugin>
  57. <groupId>org.springframework.boot</groupId>
  58. <artifactId>spring-boot-maven-plugin</artifactId>
  59. </plugin>
  60. </plugins>
  61. </build>
  62. <repositories>
  63. <repository>
  64. <id>spring-milestone</id>
  65. <url>http://repo.spring.io/libs-release</url>
  66. </repository>
  67. </repositories>
  68. </project>

这里要注意的是,打包方式jar,不再是war

  1. <packaging>jar</packaging>

自定义打包名称

  1. <build>
  2. <finalName>helloworld</finalName>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.springframework.boot</groupId>
  6. <artifactId>spring-boot-maven-plugin</artifactId>
  7. </plugin>
  8. </plugins>
  9. </build>
  10. <repositories>
  11. <repository>
  12. <id>spring-milestone</id>
  13. <url>http://repo.spring.io/libs-release</url>
  14. </repository>
  15. </repositories>

③Application启动类代码

  1. @SpringBootApplication
  2. @MapperScan(basePackages = "com.cckj.dao", markerInterface =Mapper.class)
  3. public class Application {
  4. public static void main(String[] args) {
  5. SpringApplication.run(Application.class, args);
  6. }
  7. }
  8. 注意:各个方法中的测试主函数最好全部注释掉!

3.实现方案

准备工作:在部署之前,首先确认云服务器是否装有tomcat环境,并且服务时候开启!若无环境,请自行安装并开启服务

①开始打jar包

跟前篇步骤一样,点开右边的Maven Project,点击Lifecycle,最后双击packet,生成jar包

Center

②将刚打的jar上传至云服务器的java目录下

Center 1

③运行命令:java -jar helloworld.jar,然后springboot工程的内置tomcat就开启了

注意:部署好之后,需要开放端口号:3306,8089

访问效果:

Center 2

这里还没完呢,当然你关闭当前的xshell 命令界面时,再次访问就失效了,这是因为springboot内置的tomcat随之也关闭了,那么有人会问,这叫什么云部署呀?跟本地没两样,是啊,我也这么觉得;别急,往下看

④常驻云服务器

运行命令: nohup java -jar helloworld.jar &

nohup的意思不挂服务,常驻的意思,除非云服务器重启,那就没法了;最后一个&表示执行命令后要生成日志文件nohup.out

Center 3

好了,这样就不担心关闭xshell,只要云服务器不关闭,总能访问的。

发表评论

表情:
评论列表 (有 0 条评论,374人围观)

还没有评论,来说两句吧...

相关阅读