只用一台服务器部署上线(宝塔面板) 前后端+数据库

所需材料

工具:安装宝塔面板服务器至少一台、域名一个

前端:生成dist文件(前端运行build命令)

后端:生成jar包(maven运行package命令)

准备:

打开宝塔面板,点击进入软件商店安装:nginx、mysql

进入终端输入命令自动安装java

yum install -y java-1.8.0-openjdk*

开始

前端

点击添加前端站点

输入自己的域名,不输入端口则默认80端口

添加完成后会自动生成网站目录,点击目录可跳转,删除目录中原有文件,并将前端dist文件夹中所有文件上传到本目录

这样前端就部署好了

后端

在/www/wwwroot/目录中新建文件夹,在新建的文件夹中上传已有的jar包

点击添加java项目,选择刚刚上传的jar包,然后会自动填写下面的信息,根据自己的需求修改,项目端口为后端设置运行的端口,项目执行命令为java的运行路径、程序运行时的内存限制等、最后加上一行命令 --spring.profiles.active=prod使得程序运行在生产环境中并提交

这样你的后端也部署好了,提交后程序会自动启动

mysql数据库

点击添加数据库,输入你的数据库名称,用户名会自动与数据库名一致,设置你的密码,访问权限可以修改为指定ip,然后填写你自己本地的公网ip即可在自己电脑连接服务器的数据库,更方便操作数据库

解决前端刷新404的问题

然后可以配置前端nginx,打开之前部署的前端,点击左侧配置文件,在文件中添加以下代码,使所有的路由都指向index.html文件,解决前端打开后跳转如果刷新就出现404的问题。

复制代码
location / {
      try_files $uri $uri/ /index.html;
    }

使用nginx反向代理解决前端跨站访问后端的问题

保存后再次点击添加站点,输入后端访问的域名,直接提交。

点击左侧反向代理,添加反向代理,代理目录是 / 根目录,目标url修改为 http://127.0.0.1:【后端访问端口】

这样当前端向后端域名发起请求时,会将请求发到nginx服务器,然后nginx会将你的请求转发到后端域名,继而绕过跨域,也能不暴露后端的端口

相关推荐
斯班奇的好朋友阿法法31 分钟前
中科方德(NFSChina)离线安装 RPM 包
运维
GanGanGanGan_1 小时前
CentOS 7.9 glibc 2.17 源码编译升级到 glibc 2.31
linux·运维·centos·glibc
Filwaod1 小时前
互联网大厂Java面试实战:Spring Boot微服务架构与AI技术栈深度解析
spring boot·微服务·大厂面试·java面试·技术干货·ai技术栈·程序员求职
charlie1145141911 小时前
嵌入式Linux驱动开发——class 和 device 模型 - 自动创建设备节点的幕后机制
linux·运维·驱动开发
杨云龙UP3 小时前
SQL Server2022部署:Windows Server 2016下安装、SSMS配置、备份还原与1433端口放通全流程_20260508
运维·服务器·数据库·sql·sqlserver·2022
梦想与想象-广州大智汇3 小时前
自建docker加速镜像,使用 Cloudflare Workers/Pages 部署加速教程
运维·docker·容器
枳实-叶3 小时前
【Linux驱动开发】第四天:dmesg日志全解+驱动加载失败极速排查
linux·运维·驱动开发
武超杰4 小时前
Nginx从入门到精通
运维·nginx
weixin_704266054 小时前
Nginx 反向代理 + 6 种负载均衡策略
运维·nginx
墨染天姬5 小时前
【AI】cursor提示词小技巧
前端·数据库·人工智能