目录

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. (数据科学学习手札144)使用管道操作符高效书写Python代码

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,一些比较熟悉pandas的读者 ...

  2. logback.xml详解

    介绍 之前博文有专门介绍过基于Log4j Appender 实现大数据平台组件日志的采集, 本篇主要对java项目中经常会接触到的logback.xml文件的配置做一个介绍和总结. logback.x ...

  3. composer 报错 The "https://mirrors.aliyun.com/composer/p....json" file could not be downloaded (HTTP/1.1 404 Not Found)

    [Composer\Downloader\TransportException] The "https://mirrors.aliyun.com/composer/p/provider-20 ...

  4. 齐博x1APP要实现直播的关键两步

    大家务必要注意,缺少这两步,你的APP将不能实现直播, 也即点击直播按钮无法启动直播推流 https://www.maxdo.tech/

  5. XPAND模板语言语法1.0

    XPAND模板语言语法1.0 Xpand模板语言一般写在以.xpt为结尾的文本文件中 ,以"« »" 作为开头和结尾  .Xpand语言主要包括以下几个标签: «IMPORT», ...

  6. 浅谈API和SDK的区别

    首先了解一下他们的定义 API:application program interface 应用程序接口 通常表示一些事先定义好的函数,为了向外部提供一组功能的实现,实现和其他软件的交互 SDK:so ...

  7. SQL中的转义字符和通配符

    一.通配符 如果想查找"_cs"结尾的的账户   select * from [user] where loginname like '%_cs'是不行的,  _ 被认为是任意的字 ...

  8. Sublime Text 修改默认语言为Python

    Sublime Text 3 修改默认语言为Python 步骤如下 英文:Tools - Developer - New Plugin 中文:工具 - 插件开发 - 新建插件 清空原来内容,用下面的代 ...

  9. 为什么 softmax 计算时要先减去最大值

    根据 softmax 最基本的定义,计算公式如下所示: $$S_i=\frac{e^{x_i}}{\sum_j e^{x_j}}$$ 原理也很简单,将原向量变为分布的形式(和为1). 看似很美好,但是 ...

  10. NC-UClient下载安装应用详解

    aliases: [] tags : " #NC " summary: [UClient下载安装NCC应用详解] product: [NCX] author : [yaenli] ...