宝塔部署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 如果上面的配置都想到了还有问题

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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/45932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux面试笔试题(1)

1、以长格式列目录时&#xff0c;若文件test的权限描述为&#xff1a;drwxrw-r–&#xff0c;则文件test的类型及文件主的权限是__A____。 A.目录文件、读写执行 B.目录文件、读写 C.普通文件、读写 D.普通文件、读 在这个问题中&#xff0c;我们需要解析文件权限的描述&…

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

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

Visual Studio 2022 你必须知道的实用调试技巧

目录 1、什么是bug&#xff1f; 2.调试是什么&#xff1f;有多重要&#xff1f; 2.1我们是如何写代码的&#xff1f; 2.2又是如何排查出现的问题的呢&#xff1f; ​编辑 2.3 调试是什么&#xff1f; 2.4调试的基本步骤 2.5Debug和Release的介绍 3.Windows环境调试介绍…

基于Java+SpringBoot的房源出租信息管理系统【源码+论文+演示视频+包运行成功】

博主介绍&#xff1a;✌csdn特邀作者、博客专家、java领域优质创作者、博客之星&#xff0c;擅长Java、微信小程序、Python、Android等技术&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推…

【腾讯云Cloud Studio实战训练营】用Vue+Vite快速构建完成交互式3D小故事

&#x1f440;前置了解&#xff1a;(官网 https://cloudstudio.net/) 什么是Cloud Studio&#xff1f; Cloud Studio 是基于浏览器的集成式开发环境&#xff08;IDE&#xff09;&#xff0c;为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装&#…

FPGA_学习_16_IP核_ROM(延迟一拍输出)

在寻找APD最合适的偏压的过程中&#xff0c;一般会用到厂商提供一条曲线&#xff0c;横坐标是温度的变化&#xff0c;纵坐标表示击穿偏压的变化&#xff0c;但每个产品真正的击穿偏压是有差异的。 为了能够快速的找到当前温度下真实的击穿偏压&#xff0c;我们可以这样做&#…

5.5.webrtc的线程管理

今天呢&#xff0c;我们来介绍一下线程的管理与绑定&#xff0c;首先我们来看一下web rtc中的线程管理类&#xff0c;也就是thread manager。对于这个类来说呢&#xff0c;其实实现非常简单&#xff0c;对吧&#xff1f; 包括了几个重要的成员&#xff0c;第一个成员呢就是ins…

小研究 - Android 字节码动态分析分布式框架(三)

安卓平台是个多进程同时运行的系统&#xff0c;它还缺少合适的动态分析接口。因此&#xff0c;在安卓平台上进行全面的动态分析具有高难度和挑战性。已有的研究大多是针对一些安全问题的分析方法或者框架&#xff0c;无法为实现更加灵活、通用的动态分析工具的开发提供支持。此…

五款拿来就能用的炫酷表白代码

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;小白零基础《Python入门到精通》 五款炫酷表白代码 1、无限弹窗表白2、做我女朋友好吗&#xff0c;不同意就关机3、…

无涯教程-PHP - XML GET

XML Get已用于从xml文件获取节点值。以下示例显示了如何从xml获取数据。 Note.xml 是xml文件&#xff0c;可以通过php文件访问。 <SUBJECT><COURSE>Android</COURSE><COUNTRY>India</COUNTRY><COMPANY>LearnFk</COMPANY><PRICE…

c#设计模式-结构型模式 之 桥接模式

前言 桥接模式是一种设计模式&#xff0c;它将抽象与实现分离&#xff0c;使它们可以独立变化。这种模式涉及到一个接口作为桥梁&#xff0c;使实体类的功能独立于接口实现类。这两种类型的类可以结构化改变而互不影响。 桥接模式的主要目的是通过将实现和抽象分离&#xff0c;…

excel 核心快捷键用法

1、wps怎样只复制公示计算出来的数据 1.1、按下快捷键“CtrlC”&#xff0c;复制该单元格。 1.2、按下快捷键“ShiftCtrlV”&#xff0c;即“粘贴为数值”&#xff0c;即可只复制数字而不复制该单元格的公式 1.3、wps怎样只复制公示计算出来的数据_百度知道https://zhidao.baid…

数据结构之并查集

并查集 1. 并查集原理2. 并查集实现3. 并查集应用3.1 省份数量3.2 等式方程的可满足性 4. 并查集的优缺点及时间复杂度 1. 并查集原理 并查表原理是一种树型的数据结构&#xff0c;用于处理一些不相交集合的合并及查询问题。并查集的思想是用一个数组表示了整片森林&#xff0…

如何将图片应用于所有的PPT页面?

问题&#xff1a;如何快速将图片应用到所有PPT页面&#xff1f; 解答&#xff1a;有两种方法可以解决这个问题。第一种用母板。第二种用PPT背景功能。 解决有时候汇报的时候&#xff0c;ppt中背景图片修改不了以及不知道如何查找&#xff0c;今天按照逆向过程进行操作 方法1…

尚硅谷css3笔记

目录 一、新增长度单位 二、新增盒子属性 1.border-box 怪异盒模型 2.resize 调整盒子大小 3.box-shadow 盒子阴影 案例&#xff1a;鼠标悬浮盒子上时&#xff0c;盒子有一个过度的阴影效果 三、新增背景属性 1.background-origin 设置背景图的原点 2.background-clip 设置背…

【Elasticsearch】spring-boot-starter-data-elasticsearch的使用以及Elasticsearch集群的连接

更多有关博主写的往期Elasticsearch文章 标题地址【ElasticSearch 集群】Linux安装ElasticSearch集群&#xff08;图文解说详细版&#xff09;https://masiyi.blog.csdn.net/article/details/131109454基于SpringBootElasticSearch 的Java底层框架的实现https://masiyi.blog.c…

STM32 定时器复习

12MHz晶振的机器周期是1us&#xff0c;因为单片机的一个机器周期由6个状态周期组成&#xff0c;1个机器周期6个状态周期12个时钟周期&#xff0c;因此机器周期为1us。 51单片机常用 for(){__nop(); //执行一个机器周期&#xff0c;若想循环n us&#xff0c;则循环n次。 }软件…

Streamlit项目:基于讯飞星火认知大模型开发Web智能对话应用

文章目录 1 前言2 API获取3 官方文档的调用代码4 Streamlit 网页的搭建4.1 代码及效果展示4.2 Streamlit相关知识点 5 结语 1 前言 科大讯飞公司于2023年8月15日发布了讯飞认知大模型V2.0&#xff0c;这是一款集跨领域知识和语言理解能力于一体的新一代认知智能大模型。前日&a…

Stable Diffusion原理详解

Stable Diffusion原理详解 最近AI图像生成异常火爆&#xff0c;听说鹅厂都开始用AI图像生成做前期设定了&#xff0c;小厂更是直接用AI替代了原画师的岗位。这一张张丰富细腻、风格各异、以假乱真的AI生成图像&#xff0c;背后离不开Stable Diffusion算法。 Stable Diffusion…

java 微信小程序授权获取用户手机号码 (完整demo)

1. 前端获取动态令牌 code https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html 2. 后端接收令牌code, 调用微信获取手机号接口 POST https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_tokenACCESS_TOKEN 3. con…