Linux系统部署Springboot+vue前后端分离项目

简介: 前后端分离项目部署,springboot+vue+宝塔面板

一、VUE项目打包

首先简单介绍一下我使用的前后端项目都是人人开源的项目。可自行下载。

打开VSCode的终端,运行如下命令

npm run build

这个命令会将vue项目的所有代码转换为css、js和html格式,以便能在大部分的浏览器上运行。

image.png

运行成功后,会在项目中生成dist文件夹,备用。

image.png

(PS:项目最好使用Node版本为12.xx.xx的版本,最新的版本和低于12版本的可能会出现一些意想不到的问题,如:打包时候会报找不到python/vscode、打包好后前端页面空白加载不到静态文件等,试了网上的很多方法,都不管用,果断换了个版本试了试-。-,很顺利,直接一次性成功。)

二、Springboot项目打包

1、pom文件引入打包依赖

<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.4.RELEASE</version></plugin>

image.png

2、Idea的Maven管理

找到要打包的项目,双击package

image.png

注:如果不是用的idea,可以直接使用mvn package命令进行打包

打包成功后,在对应路径找到打包好的jar包。

image.png

三、服务器部署

1、宝塔面板

我的服务器已经提前安装好了宝塔面板,可以帮助你傻瓜式安装一些linux必备应用。宝塔安装方法

image.png

2、上传文件

  • 上传后端项目打包好的jar
  • 上传前端打包好的dist文件夹

利用SSH工具上传(WinSCP/FinalShell/Xshell等等网上很多),此处我上传到了服务器的/home/project文件夹下

image.png

3、Nginx配置

宝塔面板插件安装上Nginx后,在首页点击Nginx,找到配置修改,修改内容如下

image.png

server
    {
        listen 80;
        server_name 服务器IP;
        index index.html index.htm;
# 允许跨域请求的“域”        add_header 'Access-Control-Allow-Origin''*';
# 允许客户端提交Cookie        add_header 'Access-Control-Allow-Credentials''true';
# 允许客户端的请求方法        add_header 'Access-Control-Allow-Methods''GET, POST, OPTIONS, DELETE, PUT';
# 允许客户端提交的的请求头        add_header 'Access-Control-Allow-Headers''Origin, x-requested-with, Content-Type, Accept, Authorization';
# 允许客户端访问的响应头        add_header 'Access-Control-Expose-Headers''Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma';
        location / {
          root  /home/project/dist;
          index index.html;
        }
        location /study{ #后台          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_pass   http://服务器IP:jar包的端口/项目名称/;
        }
#error_page   404   /404.html;        include enable-php.conf;
        access_log  /www/wwwlogs/access.log;
    }
  include /www/server/panel/vhost/nginx/*.conf;
}

修改完成后,点击服务->重载配置。

4、服务后台启动

终端,输入如下命令,即可后台启动

nohup java -jar /home/project/renren-fast.jar > /dev/null 2> /dev/null &

image.png

启动成功后,输入如下命令查看是否启动成功

ps-ef | grep java

出现如图所示,表示成功启动

image.png

四、访问

快打开浏览器地址栏输入自己的服务器ip试一下吧(如果配置了域名,可直接使用域名访问)

image.png


目录
相关文章
|
4月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
600 7
ERPNext 搭建教程:Linux 一键部署与维护
|
4月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
472 13
|
4月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
661 0
|
NoSQL Java 数据库连接
Idea创建SpringBoot多模块项目
我们可以定义一个维度,以此来划分模块,例如上述商城、可以划分成商品、库存和订单模块。也可以目录结构分层,`Controller`层,只不过没人这样做。这样就引申出了下一个问题`拆分策略`。
1317 0
Idea创建SpringBoot多模块项目
|
Java 应用服务中间件 Maven
传统maven项目和现在spring boot项目的区别
Spring Boot:传统 Web 项目与采用 Spring Boot 项目区别
680 0
传统maven项目和现在spring boot项目的区别
|
XML Java 数据库连接
创建springboot项目的基本流程——以宠物类别为例
创建springboot项目的基本流程——以宠物类别为例
226 0
创建springboot项目的基本流程——以宠物类别为例
|
存储 机器学习/深度学习 IDE
SpringBoot 项目与被开发快速迁移|学习笔记
快速学习 SpringBoot 项目与被开发快速迁移
SpringBoot 项目与被开发快速迁移|学习笔记
|
Java Spring
自定义SpringBoot项目的启动Banner
``Banner``是``SpringBoot``框架一个特色的部分,其设计的目的无非就是一个框架的标识,其中包含了版本号、框架名称等内容,既然``SpringBoot``为我们提供了这个模块,它肯定也是可以更换的这也是``Spring``开源框架的设计理念。
|
前端开发 Java 应用服务中间件
基于springboot+mybatisplus+vue-科技项目评审及专家库管理系统
基于springboot+mybatisplus+vue-科技项目评审及专家库管理系统
484 0
基于springboot+mybatisplus+vue-科技项目评审及专家库管理系统

热门文章

最新文章