目录
[3.4. Node.js(构建前端所需)](#3.4. Node.js(构建前端所需))
[7.配置 Nginx 反向代理](#7.配置 Nginx 反向代理)
[7.1.编辑 Nginx 配置](#7.1.编辑 Nginx 配置)
将项目部署到云服务器(mac 终端版)
1.获得服务器
在阿里云或腾讯云租一个服务器
2.连接到云服务器
打开 mac 终端,使用 ssh 连接到云服务器
bash
ssh user@your-server-ip
将 user 替换为你的用户名,your-server-ip 为服务器 IP 地址
(如果提示首次接受主机密钥,输入yes)
3.配置环境
3.1.Java(运行后端所需)
- 安装 OpenJDK
以 JDK8 为例
bash
sudo yum install java-1.8.0-openjdk -y
- 验证 Java 安装
bash
java -version
如果显示 Java 版本信息,则安装成功
3.2.MySQL数据库
- 安装 MySQL
bash
sudo yum install mysql-server -y
- 启动 MySQL
bash
sudo systemctl start mysqld
- 配置安全选项
bash
sudo mysql_secure_installation
- 登录 MySQL 并创建数据库
bash
mysql -u root -p
3.3.Nginx(运行前端所需)
- 安装 Nginx
bash
sudo yum install nginx -y
- 启动并检查 Nginx 服务
bash
sudo systemctl start nginx #启动 Nginx
sudo systemctl enable nginx #设置自启动
nginx -v #查看版本
3.4. Node.js(构建前端所需)
- 安装 Node.js
bash
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
- 验证安装
bash
node -v
npm -v
4.打包项目
4.1.打包后端项目
bash
mvn clean package
jar 包在 target 目录下
4.2.打包前端项目
bash
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 反向代理转发到后端应用