部署Spring Boot + Vue前后端分离项目到Windows服务器
在Windows服务器上部署Spring Boot + Vue前后端分离的项目,你需要按照以下步骤操作:
- 准备服务器:确保你的Windows服务器安装了Java环境(JDK)和Node.js。
部署后端(Spring Boot):
- 将Spring Boot项目打包成jar文件。
- 将jar文件上传到服务器。
- 在服务器上运行jar文件,例如使用命令
java -jar your-app.jar
。
部署前端(Vue):
- 构建Vue项目,生成静态文件。
- 将构建好的静态文件上传到服务器。
- 配置服务器的web服务器(如Apache或Nginx)来提供静态文件服务。
配置反向代理:
- 如果你想通过服务器上的同一个端口来同时提供API接口和前端页面,可以使用Nginx作为反向代理。
- 编辑Nginx配置文件,将API请求代理到Spring Boot应用,将静态文件请求直接提供。
设置安全规则:
- 配置服务器的防火墙规则,开放必要的端口(例如,API服务使用的端口和Nginx监听的端口)。
管理应用:
- 使用服务管理工具(如Windows服务)来确保Spring Boot应用和Nginx服务在服务器启动时自动运行。
以下是简化的步骤操作例子:
# 在服务器上执行,安装Java和Node.js
sudo apt-get update
sudo apt-get install openjdk-11-jdk
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
# 构建Vue项目
cd your-vue-project
npm install
npm run build
# 将构建好的文件移动到Spring Boot项目的静态资源目录
cd ../your-spring-boot-project
mkdir -p src/main/resources/static
mv ../your-vue-project/dist/* src/main/resources/static/
# 打包Spring Boot项目
./gradlew build # 如果你使用的是Gradle
# 或者
./mvnw package # 如果你使用的是Maven
# 上传jar包到服务器并运行
scp target/your-app.jar user@your-server-ip:/path/to/your/app.jar
ssh user@your-server-ip "java -jar /path/to/your/app.jar"
# 安装Nginx并配置反向代理
sudo apt-get update
sudo apt-get install nginx
# 编辑Nginx配置文件(例如 /etc/nginx/sites-available/default)
# 在server块中添加类似下面的配置
server {
listen 80;
server_name your-server-ip;
location /api/ {
proxy_pass http://localhost:8080/; # Spring Boot应用的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;
}
location / {
root /path/to/your/static/files;
try_files $uri $uri/ /index.html; # 用于支持前端的路由
}
}
# 重启Nginx
sudo systemctl restart nginx
确保替换示例中的路径、命令和配置为你的实际情况。这个例子假设你使用的是Gradle或Maven来构建Spring Boot项
评论已关闭