linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署

摘要:
如果您还没有安装jdk、mysql和tomcat,可以先参考我的其他博客。1.输入mysql安装目录并使用数据库名称;

如果还没有安装jdk、mysql、tomcat可以先参考我的另一篇博客,linux系统tomcat部署SpringBoot+vue前后端分离项目准备工作

如果准备工作已经做完了,那么就开始正式部署吧。

上一篇仅仅安装成功了,既没有创建数据库,也没有导入数据,也没有将前后台文件放上来,接下来就一一进行操作。

上传数据库的sql文件,上传方式在上一篇博客中有详细介绍,就不再追叙。

1、进入mysql的安装目录,找到bin目录,在该文件夹下输入./mysql -u用户名 -p  然后回车,输入密码,再次回车就能进入mysql了,对了,前提是mysql的服务已经启动了,mysql的服务启动命令是,service mysql start

[root@localhost static]$cd /usr/local/mysql/
[root@localhost mysql]$ls
bin  data  docs  include  lib  LICENSE  man  README  share  support-files
[root@localhost mysql]$cd bin/
[root@localhost bin]$pwd
/usr/local/mysql/bin
[root@localhost bin]$clear
[root@localhost bin]$pwd
/usr/local/mysql/bin
[root@localhost bin]$ls
innochecksum    myisamlog          mysqladmin                  mysql_config         mysqld_multi   mysql_embedded    mysqlpump                  mysql_ssl_rsa_setup  mysqlxtest  resolve_stack_dump
lz4_decompress  myisampack         mysqlbinlog                 mysql_config_editor  mysqld_safe    mysqlimport       mysql_secure_installation  mysqltest_embedded   perror      zlib_decompress
myisamchk       my_print_defaults  mysqlcheck                  mysqld               mysqldump      mysql_install_db  mysqlshow                  mysql_tzinfo_to_sql  replace
myisam_ftdump   mysql              mysql_client_test_embedded  mysqld-debug         mysqldumpslow  mysql_plugin      mysqlslap                  mysql_upgrade        resolveip
[root@localhost bin]$./mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 80
Server version: 5.7.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> 

2、创建数据库,show databases;显示现在已经存在的数据库,create database 数据库名;创建数据库的命令,创建后再次show databases;就能看到刚才创建的数据库了,use 数据库名;开始进入该数据库,source sql的存放路径;就可以导入sql了。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| firewall_new       |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.06 sec)

mysql> create database mydata;
Query OK, 1 row affected (0.03 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| firewall_new       |
| mydata             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

mysql> use mydata
Database changed
mysql> source /opt/myfile/xxx.sql

数据库导入成功,检查一下表的个数,再执行个查询sql确认一下,然后就可以打包后台程序了,因为spring是内置tomcat,我这次是打算打成war包,部署在tomcat上,那么就需要特殊处理一下。

1、将打包方式修改为war的方式,修改pom文件

<packaging>war</packaging>

2、移除内置tomcat,我使用的是spring-boot-starter-web-services,有的是在spring-boot-starter-web这个引入的下面,最主要是找到内置spring-boot-starter-tomcat,也可能存在父依赖中。

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web-services</artifactId>
            <!-- 移除嵌入式tomcat插件 打包-->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

3、添加Tomcat servlet-api的依赖

    <!--打包war-->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>8.0.36</version>
            <scope>provided</scope>
        </dependency>

4、增加SpringBootStartApplication类,我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:

package com.interact.firewall;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(FirewallApplication.class);
    }
}

文件路径,跟启动类同级

linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署第1张

 5、打包部署,在maven命令行里输入:clean package 即可, 等待打包完成,出现[INFO] BUILD SUCCESS即为打包成功,如下图操作,

linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署第2张

 6、然后把target目录下的war包放到tomcat的webapps目录下(war包可自行重命名),启动tomcat,即可自动解压部署

linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署第3张

[root@localhost webapps]$pwd
/usr/tomcat/apache-tomcat-8.5.61/webapps
[root@localhost webapps]$ls
docs  examples  firewall  firewall.war  host-manager  manager  ROOT  static  static.zip

 7、将vue前端项目,通过npm run build,将前端打包

E:projectGitfirewall-ui>npm run build

 8、打包完成后,找到对应的dist文件夹,将其中的index.html和static文件夹,上传到linux

linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署第4张

 9、将static文件夹和index.html放入tomca上部署后台项目的静态资源下,/usr/tomcat/apache-tomcat-8.5.61/webapps/firewall/WEB-INF/classes/static

[root@localhost static]$pwd
/usr/tomcat/apache-tomcat-8.5.61/webapps/firewall/WEB-INF/classes/static

 10、启动项目即可访问,访问时,如果修改war名称,需要添加该war名称,比如改名为firewall.war,访问时,http://192.168.199.214:8080/firewall/。

linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署第5张

 需要注意如果只是输入ip+端口,默认走的是ROOT,页面会显示tomcat的默认页面。

linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署第6张

还需要注意的是,配置文件中的一些路径,项目根路径、数据存放路径、配置文件路径等等,需要处理的最好都细心处理一下。

或者直接将原来的ROOT文件夹删除,然后将咱们后台打包好的ROOT.war,放上去,也可以直接访问,下边这个标红的ROOT.war就是我们自己项目打的war包

[root@localhost webapps]$ls
docs  examples  host-manager  manager  ROOT  ROOTBak  ROOT.war
[root@localhost webapps]$

linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署第7张

免责声明:文章转载自《linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇QML 解决button中添加了MouseArea,点击事件就不响应了的问题Apollo 配置中心部署注意事项下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SpringCloud认识五之分布式锁和分布式事务

SpringCloud认识五之分布式锁和分布式事务 https://blog.csdn.net/weixin_41446894/article/details/86260854 本人讲述的是基于 Spring Cloud 的分布式架构,那么也带来了线程安全问题,比如一个商城系统,下单过程可能由不同的微服务协作完成,在高并发的情况下如果不加锁就会有问题,而传...

7 款顶级的开源 Web 分析软件

Web 分析无非就是 Web 流量的测量。但它并不限于测量网络流量,还包括: 分析 数据采集 为了了解和优化网页而上报网络数据 Google Analytics是最广泛使用的基于云的网络分析服务。不过,你的数据已被锁定在Google的生态系统中。如果你想要100%的数据拥有权,请尝试以下开源网络分析软件来获取有关网站的访问者数量和页面浏览量的信息。...

SQL Server 备份和还原

SQL Server 备份 恢复模式 SQL Server 数据恢复模式分为三种:完整恢复模式、大容量日志恢复模式、简单恢复模式。 完整恢复模式 默认的恢复模式,它会完整记录下操作数据库的每一个步骤,使用完整恢复模式可以将一个数据库恢复到一个特定的时间点,这个时间点可以是最近一次可用的备份、一个特定的日期和时间的事务。 大容量日志恢复模式 它是对完整恢...

Flask-SQLAlchemy数据库ORM

SQLAlchemy 首先需要知道ORM是什么 ORM: Object-Relational Mapping, 对象关系映射, 能够把关系型数据库的表结构映射到模型类对象上, 即实例化一个类对象, 通过操作该对象来操作后台数据库表 使用ORM而不使用手动拼写原生SQL语句有两点好处: 使用起来更加方便, 使用面向对象的一套操作即可操作数据库 能够有效防止...

谈谈网络蜘蛛 爬开心网001的一些体会

-------------  前言 ------------  最近在搞自动登录系统的框架。拿开心网001来实验,可是非常郁闷,我发现开心网的html页面是我所见到的所有页面中最不规范的。 水平之烂,第一次见。在php中夹杂Javascript,javascript有使用了php动态生成变量;在div布局中又嵌入table;json格式乱七八糟,根本没有统一...

达梦数据库

摘自:     达梦常用语句 https://blog.csdn.net/zhangxuechao_/article/details/47300953    达梦数据库管理之表空间  https://blog.csdn.net/lucky_fly/article/details/81566616 --查看表空间select * from V$TABLESP...