当前位置: 首页 > news >正文

宝塔部署Java+Vue前后端分离项目经验总结

前言

之前部署服务器都是在Linux环境下自己一点一点安装软件,听说用宝塔傻瓜式部署更快,这次浅浅尝试了一把。
确实简单!

1、 买服务器

咋买服务器略,记得服务器装系统就装 Cent OS 7系列即可,我装的7.6。
在这里插入图片描述

2、创建宝塔Linux面板

然后就是百度搜索宝塔:在这里插入图片描述
进去之后点击立即免费安装:
在这里插入图片描述
然后进入面板选择,我们用的是Linux服务器,所以选择Linux在线安装:
在这里插入图片描述
下面就是正常的输入密码IP什么的就可以了:
在这里插入图片描述
然后会出现一个模板选项,看看和你自己的项目匹不匹配,我的是匹配的,选择了它推荐的,版本可以自己根据自己的需要进行更改:
在这里插入图片描述
然后就是等着安装就完事儿了。
(下一步和上一步我忘记顺序了,不过你遇到的是哪种情况就对应看哪种情况的操作就好了)
安装完成之后会弹一个宝塔的应用面板,并附带有登录名称和密码,这个要自己记下来的嗷。
然后我们在浏览器打开这个面板,输入刚刚的名称和密码就能登录到该管理界面了。

3、部署Linux项目运行环境

然后除了上面已经安装的内容,因为项目是Java写的,我们还需要去安装一个Java项目一键部署:
在这里插入图片描述
安装完成之后我们点击Java项目一键部署的设置,点击spring boot它会让我们安装一个Tom Cat,我们安装一个,其实spring boot项目是不需要额外安装tomcat的,但是安装该tomcat我们可以得到一个JDK,就不需要自己去额外下载JDK了,所以安装一个,我安装的8。

4、配置MySQL

在这里插入图片描述
这里设置的密码千万记得要改自己项目后端里的数据库配置文件中的密码与其相同,还有数据库名称嗷,然后后端项目中配置文件里的数据库地址用localhost别用服务器IP地址,不然会报无法查询到数据库的错,具体是为什么我也不知道,就是经验是这样。
然后导入SQL文件:在这里插入图片描述
下面这里记得还要导入一下嗷:
在这里插入图片描述
点击工具就能看见自己的数据都导入了没:
在这里插入图片描述
下面的这个“添加数据库”旁边的“root密码”记得也要改!
在这里插入图片描述

4.1 项目中用到了别的数据库(或者组件)怎么办

比如我的项目中用到了Redis,那就对应的再安装一个Redis就行了呀,然后进行配置就可以,我的项目中因为配置文件中没有设置Redis的密码和IP什么的,所以项目默认就会采用本机的Redis,其他的需要配置就配置没有配置就用默认的配置就可以。

5、上传程序文件

在www下面创建个新文件夹,将所有文件都传上来即可:
在这里插入图片描述
这里注意后端程序打包,如果出现包非常小的情况那么大概率是有jar包没跟着一起导进去,在后端的pom文件里加上下面这段重新打包,就算是多模块项目也是一样的,父模块(即)公共模块的代码相当于是jar包依赖被导入了子模块中,所以父模块不需要一起被放到服务器上:

......<build><plugins>...<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!--项目的启动类--><mainClass>cn.akioyuan.springdemo.SpringDemoApplication</mainClass><layout>ZIP</layout></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
....

6、启动后端程序

然后在命令行终端(记得要在后端jar包所在文件目录下),使用如下命令,启动后端程序:

nohup java -jar xxxxxxxx.jar

有几个后端程序启动几个后端程序即可,另外这里不需要指定端口是因为我在项目的配置文件中已经配置好了。项目的运行日志都会被输入到nohup.out文件当中。

7、启动前端程序

我们查看nginx配置文件,进入Linux默认的安装Nginx位置:

cd /www/server/nginx/conf/nginx.conf

在这里插入图片描述
进来之后会发现,上图标亮的位置,就是指只要在这个文件目录下采用.conf文件后缀名的文件,就可以成为nginx的配置文件,那我们就进入这个文件中去配置我们的前端程序:

cd /www/server/panel/vhost/nginx/

在这个目录中创建我们的nginx配置文件:
在这里插入图片描述
然后将我们前端程序的地址配置文件全部写进去就可以:
在这里插入图片描述
直接贴个模板:

server {							##定义虚拟主机listen       80;	##设置监听端口,默认为80端口server_name  localhost;	##域名charset utf-8;location / {					##定义请求匹配规则alias   /www/bishe/distOfFront/;			##文件的存放目录try_files $uri $uri/  /index.html;index  index.html index.htm;	##设置默认的索引文件}location = /api {proxy_pass http://localhost:7777/;proxy_set_header x-forwarded-for $remote_addr;}
}server {							##定义虚拟主机listen       8080;	##设置监听端口,默认为80端口server_name  localhost;	##域名charset utf-8;location / {					##定义请求匹配规则alias   /www/bishe/distOfAdmin/;			##文件的存放目录try_files $uri $uri/  /index.html;index  index.html index.htm;	##设置默认的索引文件}location = /api {proxy_pass http://localhost:8989/;proxy_set_header x-forwarded-for $remote_addr;}
}

注意这里要将上面的server_name改成你自己的服务器的主机IP,然后esc+冒号wq保存退出以后,将nginx重新执行一下:

cd /www/server/nginx/sbin/
./nginx -s reload

一般情况下到这里就成功啦。

8、访问项目失败情况总结

8.1 项目端口没有开放

这个一定一定要去检查一下你的云服务器有没有开启你对应的端口规则,不光云服务器要检查,你的宝塔面板安全那一块也要检查端口有无开放!

8.2 项目防火墙没有关闭

宝塔面板安全那一块一定要关闭防火墙,不然也会出现连接不上的问题。

8.3 前端项目里的访问地址

前端项目里访问后端的接口地址必须全用服务器的IP地址嗷,不然访问就会失败。

8.4 如果上面的配置都想到了还有问题

那就关机重启一下服务器或者是宝塔,重启项目也试试。

总结

其实总的来说宝塔部署还是很方便的,但是因为自己的经验不足还是跳进了很多坑,我有印象的都记录在上面了。因为我是已经部署完了之后才写的这篇经验总结文,所以只能把自己能记起来的部分写在上面,照着上面做应该就能部署成功,如果遇到了什么新的问题那么再去百度一下应该就差不多了,其他的以后想起来了或者是又有新的坑了俺再回来补充~~

相关文章:

宝塔部署Java+Vue前后端分离项目经验总结

前言 之前部署服务器都是在Linux环境下自己一点一点安装软件&#xff0c;听说用宝塔傻瓜式部署更快&#xff0c;这次浅浅尝试了一把。 确实简单&#xff01; 1、 买服务器 咋买服务器略&#xff0c;记得服务器装系统就装 Cent OS 7系列即可&#xff0c;我装的7.6。 2、创建…...

【公告】停止更新

CSDN 博客的限制太多了。阅读体验也非常差。后续将不再 CSDN 上更新。 逐步迁移到掘金和个人博客。 欢迎关注 掘金&#xff1a;0xforee 个人博客&#xff1a;0xforee’s blog...

AutoHotKey+VSCode开发扩展推荐

原来一直用的大众推荐的SciTeAHK版&#xff0c;最近发现VSCode更舒服一些&#xff0c;有几个必装的扩展推荐一下&#xff1a; AutoHotkey Plus 请注意不是AutoHotkey Plus Plus。如果在扩展商店里搜索会有两个&#xff0c;一个是Plus&#xff0c;一个是Plus Plus。我选择Pllus&…...

了解 JSON 格式

一、JSON 基础 JSON&#xff08;JavaScript Object Notation&#xff0c;JavaScript 对象表示法&#xff09;是一种轻量级的数据交换格式&#xff0c;JSON 的设计目的是使得数据的存储和交换变得简单。 JSON 易于人的阅读和书写&#xff0c;同时也易于机器的解析和生成。尽管 J…...

[RDMA] 高性能异步的消息传递和RPC :Accelio

1. Introduce Accelio是一个高性能异步的可靠消息传递和RPC库&#xff0c;能优化硬件加速。 RDMA和TCP / IP传输被实现&#xff0c;并且其他的传输也能被实现&#xff0c;如共享存储器可以利用这个高效和方便的API的优点。Accelio 是 Mellanox 公司的RDMA中间件&#xff0c;用…...

typescript报错:‘name‘ was also declared here

问题再现 用 Typescript 时&#xff0c; 遇到一个声明常量 name 的报错。代码如下&#xff1a; let name:string"zhangsan"; let num:number1001;执行编译时报错&#xff1a; 原因 在默认状态下&#xff0c;typescript 将 DOM typings 作为全局的运行环境&#…...

第十章:联邦学习视觉案例

代码 传送门...

c语言——输出一个整数的所有因数

//输出一个整数的所有因数 #include<stdio.h> #include<stdlib.h> int main() {int number,i;printf("输入整数&#xff1a;");scanf("%d",&number);printf(" %d 的因数有&#xff1a; ",number);for(i1;i<number;i){if(numb…...

mqtt学习记录

目录 1 匿名登录2 ⽤户名密码登录&#xff0c;配置接收的主题mosquitto 配置文件修改添加⽤户信息添加topic和⽤户的关系登录演示 3 遗嘱机制 1 匿名登录 ⾸先打开三个终端&#xff0c; 启动代理服务&#xff1a;mosquitto -v -v 详细模式 打印调试信息 默认占⽤&#xff1a;…...

爬虫逆向实战(十八)--某得科技登录

一、数据接口分析 主页地址&#xff1a;某得科技 1、抓包 通过抓包可以发现数据接口是AjaxLogin 2、判断是否有加密参数 请求参数是否加密&#xff1f; 查看“载荷”模块可以发现有一个password加密参数和一个__RequestVerificationToken 请求头是否加密&#xff1f; 无…...

Java-数组

什么是数组 数组&#xff1a;可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。 在java中&#xff0c; 数组中存放的元素其类型相同数组的空间是连在一起的每个空间有自己的编号&#xff0c;起始位置的编号为0&#xff0c;即数组的下标。 数组的创建及初始化 数…...

Dart 入门Hello world

1、下载Dart sdk IntelliJ & Android Studio | Dart 2、安装Dart 插件 3、安装后重启IDEA&#xff0c;创建Dart项目 4、创建dart文件 5、编写函数&#xff1a; void main() {print("Hello world"); } 6、运行&#xff1a; 官网学习&#xff1a;Dart 语言开发文…...

HTML是什么?

HTML是什么&#xff1f; 超文本标记语言&#xff08;英语&#xff1a;HyperText Markup Language&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言。 您可以使用 HTML 来建立自己的 WEB 站点&#xff0c;HTML 运行在浏览器上&#xff0c;由浏览器…...

【UniApp开发小程序】商品详情展示+评论、评论展示、评论点赞+商品收藏【后端基于若依管理系统开发】

文章目录 界面效果界面实现工具js页面日期格式化 后端收藏ControllerServicemapper 评论ControllerServiceMapper 商品Controller 阅读Service 界面效果 【说明】 界面中商品的图片来源于闲鱼&#xff0c;若侵权请联系删除 【商品详情】 【评论】 界面实现 工具js 该工…...

rabbitMq安装后无法启动可视化页面http://localhost:15672处理

本次安装环境信息&#xff1a; 系统&#xff1a;win10 64位专业版 erlang&#xff1a;otp_win64_23.0 rabbitMQ&#xff1a;rabbitmq-server-3.8.5 安装rabbitMQ需要依赖erlang语言环境&#xff0c;所以需要我们下载erlang的环境安装程序。 一、下载安装程序 rabbitMQ安装…...

材料行业可以转IC设计后端吗?

近来有许多材料行业的小伙伴通过后台来问我对于职业规划的看法&#xff0c;甚至有些小伙伴直接点明了某个行业适不适合自己&#xff0c;那么我这边仅以近年来比较热门的数字芯片设计来展开讲讲&#xff0c;材料适不适合转行做IC呢。 对于理工科的同学而言&#xff0c;选择哪个…...

vue3 基础知识

vue3创建一个项目 PS D:\code> npm init vuelatestVue.js - The Progressive JavaScript Framework√ Add TypeScript? ... No / Yes √ Add JSX Support? ... No / Yes √ Add Vue Router for Single Page Application development? ... No / Yes √ Add Pinia for sta…...

【线性代数-3Blue1Brown】- 2 线性组合、张成的空间与基

飞书原文链接&#xff1a;Docs...

Kafka—工作流程、如何保证消息可靠性

什么是kafka&#xff1f; 分布式事件流平台。希望不仅仅是存储数据&#xff0c;还能够数据存储、数据分析、数据集成等功能。消息队列&#xff08;把数据从一方发给另一方&#xff09;&#xff0c;消息生产好了但是消费方不一定准备好了&#xff08;读写不一致&#xff09;&am…...

用户参与策略:商城小程序的搭建与营销

在现今数字化时代&#xff0c;商城小程序已成为企业私域营销的利器。然而&#xff0c;要使商城小程序在竞争激烈的市场中脱颖而出&#xff0c;不仅需要出色的产品&#xff0c;还需要一个引人入胜的用户参与策略。本文将深入探讨如何在商城小程序中构建和落实有效的用户参与策略…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...