目录

1、前期准备

2、springboot打war包

3、部署war包

4、导入数据库

5、修改Tomcat启动端口

6、启动服务器

7、设置腾讯云服务器防火墙规则

8、从外部访问

9、总结

10、参考资料


1、前期准备

项目地址为:Atlantide/毕业设计 - 码云 - 开源中国 (gitee.com)

release分支是用来打包的,pull拉下来可以直接打包。springboot打war包相关pom.xml,启动类配置可参考release分支

master分支是用来本地直接启动的。

购买并配置服务器

我买的服务器是windows 2012R的操作系统。

在服务器上装好相应的环境(jdk,mysql,tomcat) 注意:Tomcat如果是单独启动的话(即不是通过eclipse,Intel idea启动的话,要配置环境变量,不然会出现startup.bat启动闪退)

2、springboot打war包

可参考release分支

启动类新增方法

package com.springboot.erp;

import javafx.application.Application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@ServletComponentScan //(打war用)
@SpringBootApplication
public class ErpApplication extends SpringBootServletInitializer { public static void main(String[] args) {
SpringApplication.run(ErpApplication.class, args);
} //(打war用)
/**
*新增此方法
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(ErpApplication .class);
} }

pom.xml进行修改

  <!--打成war包-->
<packaging>war</packaging> <properties>
<java.version>1.8</java.version>
<!-- 打war时不打test-->
<skipTests>true</skipTests>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <!-- 移除嵌入式tomcat插件(打war用) -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions> </dependency> <!--指定本地tomcat版本(打war用)-->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>9.0.12</version>
<scope>provided</scope>
</dependency> <build>
<finalName>erp</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

先clean后package

打包好的war包是在项目的target目录下

3、部署war包

把war放到服务器上tomcat的webapps目录下,并改名为ROOT

之所以把war包改名为root是为了访问项目时不带项目名。当然也可以在conf / server里面配置:<Context path="" docBase="xxx" reloadable="false" /> 但我试过没有用,只能用替换ROOT文件这种方法了。

遇到类似问题可参考: tomcat配置访问项目时不需要加项目名称_coolcoffee168的博客-CSDN博客_tomcat配置项目名称

4、导入数据库

使用Navicat工具直接执行一遍.sql文件就行了(我的数据库是mysql)

5、修改Tomcat启动端口

Tomcat默认启动端口是8080,可在conf / server里面进行修改,我这里修改为8082

注意:要区分application.yml / application.properties里面配置的server.port和服务器上tomcat的启动端口,一个配置的是springboot框架自带的tomcat的启动端口,只是适用于本地启动的。另一个是服务器启动war包的端口。

6、启动服务器

7、设置腾讯云服务器防火墙规则

因为我在外部要通过8082这个端口去访问服务器上的项目,所以我要把8082这个端口暴露出去

8、从外部访问

演示地址:ERP系统

9、总结

这是我2020年做的毕业设计,当时是部署在阿里云ECS服务器上的,学生服务器99元/一年。因为正巧最近腾讯云服务器做活动打折,所以就买了腾讯云1年 40元的。之前怎么部署阿里云的已经有点忘了,搞了蛮久的,所以想写出来整理一下。碰到了各种问题,比如tomcat启动闪退,Navicat用不了,导入.sql文件报错等等。当然这些只是小问题。最棘手的问题是那个tomcat启动项目是默认带着访问名的,这个我搞了好久,最后不得已把war替换ROOT了。

10、参考资料

tomcat怎么修改端口-百度经验 (baidu.com)

Springboot 打包跳过Junit测试_YouluBank的博客-CSDN博客

tomcat配置访问项目时不需要加项目名称_coolcoffee168的博客-CSDN博客_tomcat配置项目名称

使用腾讯云部署war包的更多相关文章

  1. 如何在阿里云上部署war包到tomcat服务器

    一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...

  2. Hexo 博客 之 腾讯云部署过程

    写在前面 Hexo 博客搭好了有差不多两周时间了,这期间走了很多弯路,跳了很多坑.一些坑自己 bing 到了答案,找到了解决方法,一些坑则是自己摸索出来的解决方法.现在准备写几篇关于搭建流程.搭建过程 ...

  3. docker学习5-docker安装tomcat环境和部署war包

    前言 tomcat部署web项目非常方便,把war包放到webapps目录就可以了.本篇使用docker快速搭建一个tomcat环境 下载tomcat镜像 拉取官方最新版tomcat镜像 [root@ ...

  4. 记录centos7下tomcat部署war包过程

    记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...

  5. tomcat本地部署war包的方式

    最近学习java,在本地tomcat部署时,主要采取以下方式: 一.本地构建生成war包 在本地项目中的terminal下,使用命令 “mvn clean install”或 先执行“mvn clea ...

  6. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  7. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

  8. 持续集成之Jenkins自动部署war包到远程服务器

    一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...

  9. Jboss7或者wildfly部署war包的问题

    如果在Jboss7或者wildfly中部署war包是遇到类似如下错误: "{"JBAS014671: Failed services" => {"jbos ...

随机推荐

  1. 洛谷P3243 [HNOI2015]菜肴制作 (拓扑排序/贪心)

    这道题的贪心思路可真是很难证明啊...... 对于<i,j>的限制(i必须在j之前),容易想到topsort,每次在入度为0的点中选取最小的.但这种正向找是错误的,题目要求的是小的节点尽量 ...

  2. 洛谷P4147 玉蟾宫 (单调栈)

    要求我们去找一个最大矩形面积. 单调栈做法(和P1950 长方形那道题类似(一模一样)). 1 #include<bits/stdc++.h> 2 using namespace std; ...

  3. python今日分享(内置方法)

    目录 一.习题详解 二.数据类型的内置方法理论 三.整型相关操作 四.浮点型相关操作 五.字符串相关操作 六.列表相关操作 今日详解 一.习题详解 1.计算1-100所有数据之和 all_num = ...

  4. IDEA对数据库、表、记录的(增删改查可视化操作)、数据库安全性问题的演示

    对数据库的增删改查 新增数据库 修改数据库 删除数据库 对表的增删改查 新增表 修改表 删除表 对记录的增删改查 数据库安全性问题的演示 演示脏读 ​ 一个事物里面读到了另外一个事物没有提交的数据: ...

  5. MySQL的日志文件

    本文将重点介绍MySQL的日志文件类型,并讲解其作用,并结合一定实操演示,相信跟着做下来你会对MySQL有更深的理解. 文件的概念 在开始讲MySQL日志文件之前,首先我们要明确一下文件的概念.MyS ...

  6. VS2022连接Oracle数据库所需包和连接字符串

    VS连接ORACLE数据库 l  VS2022连接ORACLE数据库时,需要引入Oracle.ManagedDataAccess.Core包. l  引入方式:打开VS2022==>项目==&g ...

  7. Day04:Java数据类型

    Java的数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 弱类型语言 什么是变量 变量:可以变化的量. 在Java中每个变量都必须先申明这个变量是什么类型 Stri ...

  8. Redisson源码解读-公平锁

    前言 我在上一篇文章聊了Redisson的可重入锁,这次继续来聊聊Redisson的公平锁.下面是官方原话: 它保证了当多个Redisson客户端线程同时请求加锁时,优先分配给先发出请求的线程.所有请 ...

  9. .NET7 gRPC JSON转码+OpenAPI

    gRPC JSON转码 gRPC JSON 转码允许浏览器应用调用 gRPC 服务,就像它们是使用 JSON 的 RESTful API 一样. 浏览器应用不需要生成 gRPC 客户端或了解 gRPC ...

  10. 2022春每日一题:Day 21

    题目:[SCOI2007]降雨量 这题比较坑,分几种情况,但是可以总起来说,分开写,两个月份都没出现,maybe,否则如果两个月份都大于[l+1,r-1]的最大值,如果两个月份差值=r-l输出,tru ...