【部署】将项目部署到云服务器
目录
1.获得服务器
2.连接到云服务器
3.配置环境
3.1.Java(运行后端所需)
3.2.MySQL数据库
3.3.Nginx(运行前端所需)
3.4. Node.js(构建前端所需)
4.打包项目
4.1.打包后端项目
4.2.打包前端项目
5.上传项目到服务器
5.1.上传后端项目
5.2.上传前端项目
6.配置后端服务
6.1.启动后端应用
6.2.配置防火墙
7.配置 Nginx 反向代理
7.1.编辑 Nginx 配置
8.访问应用
将项目部署到云服务器(mac 终端版)
1.获得服务器
在阿里云或腾讯云租一个服务器
2.连接到云服务器
打开 mac 终端,使用 ssh 连接到云服务器
ssh user@your-server-ip
将 user 替换为你的用户名,your-server-ip 为服务器 IP 地址
(如果提示首次接受主机密钥,输入yes)
3.配置环境
3.1.Java(运行后端所需)
-
安装 OpenJDK
以 JDK8 为例
sudo yum install java-1.8.0-openjdk -y
-
验证 Java 安装
java -version
如果显示 Java 版本信息,则安装成功
3.2.MySQL数据库
-
安装 MySQL
sudo yum install mysql-server -y
-
启动 MySQL
sudo systemctl start mysqld
-
配置安全选项
sudo mysql_secure_installation
-
登录 MySQL 并创建数据库
mysql -u root -p
3.3.Nginx(运行前端所需)
-
安装 Nginx
sudo yum install nginx -y
-
启动并检查 Nginx 服务
sudo systemctl start nginx #启动 Nginx
sudo systemctl enable nginx #设置自启动
nginx -v #查看版本
3.4. Node.js(构建前端所需)
-
安装 Node.js
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
-
验证安装
node -v
npm -v
4.打包项目
4.1.打包后端项目
mvn clean package
jar 包在 target 目录下
4.2.打包前端项目
npm run build:prod
Vite 默认会将打包后的静态资源生成在 dist 文件夹中
5.上传项目到服务器
5.1.上传后端项目
- 将
.jar文件上传到服务器
假设 .jar 文件路径为 target/employment.jar,服务器目标路径为 /opt/employment/:
scp target/employment.jar user@your-server-ip:/opt/employment/
将 user 替换为你的服务器用户名,your-server-ip 替换为服务器 IP 地址。
- 确保
.jar文件已经成功上传到目标路径/opt/employment/
5.2.上传前端项目
- 将前端打包后的
dist目录上传到服务器上:
scp -r dist user@your-server-ip:/var/www/html/
此命令会将前端项目的静态资源上传到服务器的 /var/www/html/ 目录,这个目录是 Nginx 的默认访问根目录
6.配置后端服务
6.1.启动后端应用
- 在服务器上进入后端
.jar文件所在目录:
cd /opt/employment/
- 启动后端应用:
java -jar employment.jar
后端服务会启动并监听相应的端口,默认情况下是 8080。可以根据需要修改端口
- 配置后端服务开机自启动(使用
systemd):
创建一个新的 systemd 服务文件 /etc/systemd/system/employment.service,内容如下:
[Unit]
Description=Employment System Backend
After=network.target[Service]
User=root
ExecStart=/usr/bin/java -jar /opt/employment/employment.jar
SuccessExitStatus=143
TimeoutStopSec=10
Restart=always[Install]
WantedBy=multi-user.target
保存文件后,执行以下命令使其生效并启动服务:
sudo systemctl daemon-reload
sudo systemctl start employment.service
sudo systemctl enable employment.service
6.2.配置防火墙
确保服务器的防火墙允许访问所需端口(如 8080 端口):
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
7.配置 Nginx 反向代理
7.1.编辑 Nginx 配置
- 打开 Nginx 配置文件:
sudo vim /etc/nginx/nginx.conf
- 添加反向代理配置,将请求转发到后端 Java 应用。假设后端应用运行在
8080端口,配置如下:
server {listen 80;server_name your-domain.com; # 替换为你的域名或 IPlocation / {root /var/www/html; # 指向前端项目所在目录index index.html;}location /api/ {proxy_pass http://localhost:8080; # 将 /api 请求转发到后端服务proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}
- 保存并退出后,检查 Nginx 配置是否正确:
sudo nginx -t
- 重新加载 Nginx 配置使更改生效:
sudo systemctl reload nginx
8.访问应用
- 在浏览器中访问你的服务器 IP 或域名,前端页面应该能够正常加载
- 后端 API 请求(如
/api/)会通过 Nginx 反向代理转发到后端应用
相关文章:
【部署】将项目部署到云服务器
目录 1.获得服务器 2.连接到云服务器 3.配置环境 3.1.Java(运行后端所需) 3.2.MySQL数据库 3.3.Nginx(运行前端所需) 3.4. Node.js(构建前端所需) 4.打包项目 4.1.打包后端项目 4.2.打包前端项目…...
2024年AI大模型技术年度总结与应用实战:创新与突破并进
前言 回顾2024年,我一共发布了286篇博文,粉丝数也达到了43000多。这一年里,我收获颇丰,始终坚持AI大模型的研究方向,并且积极开展大模型的实战应用,也取得了一系列令人振奋的突破。 在286篇博文中&#…...
docker离线安装及部署各类中间件(x86系统架构)
前言:此文主要针对需要在x86内网服务器搭建系统的情况 一、docker离线安装 1、下载docker镜像 https://download.docker.com/linux/static/stable/x86_64/ 版本:docker-23.0.6.tgz 2、将docker-23.0.6.tgz 文件上传到服务器上面,这里放在…...
SuperdEye:一款基于纯Go实现的间接系统调用执行工具
关于SuperdEye SuperdEye是一款基于纯Go实现的间接系统调用执行工具,该工具是TartarusGate 的修订版,可以利用Go来实现TartarusGate 方法进行间接系统调用。 该工具的目标是为了扫描挂钩的NTDLL并检索Syscall编号,然后使用它来执行间接系统调…...
PCL 新增自定义点类型【2025最新版】
目录 一、自定义点类型1、前言2、定义方法3、代码示例二、合并现有类型三、点云按时间渲染1、CloudCompare渲染2、PCL渲染博客长期更新,本文最近更新时间为:2025年1月18日。 一、自定义点类型 1、前言 PCL库自身定义了很多点云类型,但是在使用的时候时如果要使用自己定义的…...
Docker导入镜像
使用命令行进行处理: docker load < onething1_wxedge.tar如下图所示 查看状态 docker images...
PyTorch使用教程(9)-使用profiler进行模型性能分析
1、简介 PyTorch Profiler是一个内置的性能分析工具,可以帮助开发者定位计算资源(如CPU、GPU)的瓶颈,从而更好地优化PyTorch程序。通过捕获和分析GPU的计算、内存和带宽利用情况,能够有效识别并解决性能瓶颈。 2、原…...
SpringBoot中使用MyBatis-Plus详细介绍
目录 一、MyBatis-Plus的使用步骤 1.引入MybatisPlus的起步依赖 2.定义Mapper(也叫dao)层的接口 3.MyBatis-Plus中常用注解 4. 使用MyBatis-Plus时要做如下配置 5.条件构造器 Wrapper 一、MyBatis-Plus的使用步骤 1.引入MybatisPlus的起步依赖 M…...
PCL 部分点云视点问题【2025最新版】
目录 一、问题概述二、解决方案1、软件实现2、代码实现三、调整之后博客长期更新,本文最近更新时间为:2025年1月18日。 一、问题概述 针对CloudCompare软件处理过的pcd格式点云,在使用PCL进行特征点提取、配准等实验中最终显示结果出现点云位置偏差较大的问题,本博客给出解…...
【Linux】常见指令(三)
Linux常见指令 01.nano02.cat03.cp04.mv 我的Linux专栏:【Linux】 本节Linux指令讲解的基本框架如下: 大家可以根据自己的需求,自行进行跳转和学习! 01.nano nano Linux 系统中一款简单易用的命令行文本编辑器,适合…...
第5章:Python TDD定义Dollar对象相等性
写在前面 这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许…...
nuxt3项目打包部署到服务器后配置端口号和开启https
nuxt3打包后的项目部署相对于一般vite打包的静态文件部署要稍微麻烦一些,还有一个主要的问题是开发环境配置的.env环境变量在打包后部署时获取不到,具体的解决方案可以参考我之前文章 nuxt3项目打包后获取.env设置的环境变量无效的解决办法。 这里使用的…...
MongoDB文档查询
一、实验目的 1. 理解MongoDB文档数据库的基本概念和特性。 2. 掌握在MongoDB中创建集合和插入文档数据的方法。 3. 学习使用MongoDB进行文档查询操作,包括查询、过滤和排序等。 二、实验环境准备 1. JAVA环境准备:确保Java Development Kit (J…...
【GORM】初探gorm模型,字段标签与go案例
GORM是什么? GORM 是一个Go 语言 ORM(对象关系映射)库,它让我们可以使用结构体来操作数据库,而无需编写SQL 语句 GORM 模型与字段标签详解 在 GORM 中,模型是数据库表的抽象表示,字段标签&am…...
Windows下的Milvus安装秘籍:向量数据库轻松上手
目录 一、简介 二、dockers的安装 1.介绍 2.环境准备 1.启动WSL 的功能。 2.安装并启动Hyper-V Windows10下的安装办法: Windows11下的安装办法: 启动Hyper-V 3.Docker的安装 4、验证是否安装成功 三、安装Milvus 1.Milvus下载 2.Milvus启动…...
在GUI中添加一个Label
标签是一种非常简单的小部件,它可以为我们的图形用户界面(GUI)增添价值。它可以阐释其他组件的用途,提供一些额外的信息,这可以引导用户理解输入框组件的含义,也能够解释那些无需用户输入数据的组件所显示数据的含义。 准备就绪 我们将扩展第一个应用案例,即《创建第一…...
hive连接mysql报错:Unknown version specified for initialization: 3.1.0
分享下一些报错的可能原因吧 1.要开启hadoop 命令:start-all.sh 2.检查 hive-site.xml 和 hive-env.sh。 hive-site.xml中应设置自己mysql的用户名和密码 我的hive-site.xml如下: <configuration><property><name>javax.jdo.opt…...
Unity Shader学习日记 part5 CG基础
在了解完Shader的基本结构之后,我们再来看看编写着色器的语言。 Shader编写语言有CG,HLSL两种,我们主要学习CG的写法。 数据类型 CG的基础变量类型 uint a12;//无符号32位整形 int b12;//32位整形float f1.2f;//32位浮点型 half h1.2h;//…...
第7章:Python TDD测试Franc对象乘法功能
写在前面 这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许…...
两级式三相光伏并网逆变器Matlab/Simulink仿真模型
忘记更新最经典的光伏并网仿真模型了,作为包含经典的MPPT和并网恒功率因素的双闭环控制模型,也是很多相关专业学生的入门研究内容,光伏并网模型三相的和单相都有。 其中三相光伏并网逆变器有大功率和小功率的两种,之前早在硕士期…...
解码AMD EPYC CPU命名规则:从数字到性能的全面解析
1. AMD EPYC CPU命名规则入门指南 第一次看到AMD EPYC处理器的型号时,我完全被那一串数字字母搞懵了。EPYC 7763、EPYC 75F3、EPYC 7313P...这些看似随机的组合其实藏着重要信息。就像汽车型号能看出排量和配置一样,EPYC的命名规则也能让我们快速判断处理…...
OpenClaw日志分析:千问3.5-35B-A3B-FP8任务执行效率优化
OpenClaw日志分析:千问3.5-35B-A3B-FP8任务执行效率优化 1. 为什么需要关注OpenClaw的任务执行效率 上周我在本地部署了OpenClaw,并接入千问3.5-35B-A3B-FP8模型进行自动化任务测试。最初几天运行还算顺利,但随着任务复杂度增加,…...
PCB设计新手必看:从布局到EMC的10个实用避坑技巧
PCB设计新手必看:从布局到EMC的10个实用避坑技巧 刚接触PCB设计时,总会在各种细节上栽跟头。记得我第一次画板子时,晶振离MCU太远导致时钟信号不稳定,调试了整整两天才找到问题。这种经历让我深刻意识到,PCB设计不仅是…...
为什么才聚是PMP快速通关的“实战派摇篮”?
在中国项目管理领域,有一个名字陪伴了行业整整27年——才聚。从1999年PMP认证刚刚引入中国开始,才聚就组织了国内第一、第二期PMP培训,至今已服务超过10万名PMP考生,相当于全国每5名PMP考生中就有2名接受过才聚的服务。本文将深入…...
AudioSeal Pixel Studio保姆级教程:检测报告解读——概率阈值、覆盖率、置信度
AudioSeal Pixel Studio保姆级教程:检测报告解读——概率阈值、覆盖率、置信度 1. 工具介绍与核心价值 AudioSeal Pixel Studio 是一款基于Meta开源的AudioSeal算法构建的专业音频水印工具。它能够在保持原始音频质量的前提下,为音频文件嵌入几乎不可察…...
避开这3个坑!用SPSS做描述性统计时90%新手会犯的错误(附正确操作截图)
避开这3个坑!用SPSS做描述性统计时90%新手会犯的错误(附正确操作截图) 第一次打开SPSS时,那个布满英文按钮的界面就让我头皮发麻。记得研究生时期帮导师处理调研数据,我自信满满地导入了500份问卷,结果在组…...
2026年主流采访语音转文字工具深度测评十余款热门产品实测对比,差距竟然这么大
这段时间帮导师整理论文访谈,加上自己复习要转专业课录音,前前后后踩了不下十个坑,索性把市面上热门的十余款语音转文字工具都拉出来实测了一遍。直接说结论:对比了这么多款,听脑AI是同类工具中最值得用的,…...
学术PDF处理术:OpenClaw+Qwen3-32B实现论文关键图表提取
学术PDF处理术:OpenClawQwen3-32B实现论文关键图表提取 1. 为什么需要自动化PDF图表提取 作为一名经常需要阅读大量学术论文的研究者,我长期被一个问题困扰:如何高效地从PDF论文中提取关键图表和数据。传统方法要么依赖手动截图和转录&…...
山西太原传媒艺考评价榜第 1 名
在山西太原,艺天影视培训学校凭借其卓越的教学质量和丰富的行业资源,连续多年稳居传媒艺考评价榜榜首。本文将从师资力量、教学体系、硬件设施以及升学成果四个方面,详细解读艺天影视培训学校的成功之道,并为有志于传媒艺术的学子…...
2026好用的企业知识库汇总:11款工具实测与建议
本文将深入对比11款企业知识库管理工具:PingCode、亿方云、ShowDoc、Baklib、语雀、Notion、蓝凌、HelpLook、印象笔记、Bloomfire、沃丰科技知识库 在信息爆炸的办公环境下,企业知识库已成为团队沉淀资产、提升协作效率的核心工具。面对市面上琳琅满目的…...
