阿里云部署Vue3+SpringBoot全攻略

环境准备

阿里云服务器需要安装必要的软件环境,包括 Node.js、Java、MySQL 和 Nginx。以下为具体步骤:

  • Node.js 安装
    使用 nvm 管理 Node.js 版本,确保安装 Vue3 所需的 Node 版本(建议 16+)。

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    source ~/.bashrc
    nvm install 16
    

  • Java 环境
    Spring Boot 需要 JDK 8 或更高版本,推荐使用 OpenJDK 11。

    sudo apt update
    sudo apt install openjdk-11-jdk
    

  • MySQL 安装
    安装 MySQL 并配置远程访问权限。

    sudo apt install mysql-server
    sudo mysql_secure_installation
    

  • Nginx 安装
    用于反向代理和静态资源托管。

    sudo apt install nginx
    


前端部署(Vue3)

  1. 项目打包
    在本地开发环境下,进入 Vue3 项目目录,执行以下命令生成静态文件:
npm run build

打包后的文件默认位于 dist 目录。

  1. 上传文件到服务器
    使用 scp 或 SFTP 工具将 dist 目录上传到阿里云服务器,例如:
scp -r dist/ root@your-server-ip:/var/www/vue-app

  1. 配置 Nginx
    修改 Nginx 配置文件,将请求代理到 Vue3 静态资源目录。
server {
    listen 80;
    server_name your-domain.com;
    root /var/www/vue-app;
    index index.html;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

重启 Nginx 生效:

sudo systemctl restart nginx


后端部署(Spring Boot)

  1. 项目打包
    在本地使用 Maven 或 Gradle 打包 Spring Boot 项目为 JAR 文件:
mvn clean package

生成的 JAR 文件位于 target 目录。

  1. 上传并运行 JAR 文件
    将 JAR 文件上传到服务器,并通过 nohup 后台运行:
scp target/your-app.jar root@your-server-ip:/opt/spring-app
nohup java -jar /opt/spring-app/your-app.jar --server.port=8080 &

  1. 配置 Nginx 反向代理
    修改 Nginx 配置,将 API 请求转发到 Spring Boot 服务:
server {
    listen 80;
    server_name api.your-domain.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
    }
}

重启 Nginx:

sudo systemctl restart nginx


数据库配置(MySQL)

  1. 创建数据库和用户
    登录 MySQL,创建项目所需的数据库和用户:
CREATE DATABASE your_db;
CREATE USER 'your_user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'%';
FLUSH PRIVILEGES;

  1. 导入数据
    将本地数据库导出为 SQL 文件,上传到服务器并导入:
mysqldump -u local_user -p local_db > dump.sql
scp dump.sql root@your-server-ip:/tmp
mysql -u your_user -p your_db < /tmp/dump.sql

  1. 配置 Spring Boot 数据库连接
    修改 application.propertiesapplication.yml 文件,确保数据库连接信息正确:
spring.datasource.url=jdbc:mysql://localhost:3306/your_db
spring.datasource.username=your_user
spring.datasource.password=password


域名与 HTTPS 配置

  1. 域名解析
    在阿里云控制台将域名解析到服务器公网 IP。

  2. 申请 SSL 证书
    使用 Let's Encrypt 免费证书或阿里云 SSL 证书服务,配置 Nginx 支持 HTTPS:

server {
    listen 443 ssl;
    server_name your-domain.com;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    location / {
        root /var/www/vue-app;
        index index.html;
    }
}

  1. HTTP 强制跳转 HTTPS
    在 Nginx 配置中添加以下规则:
server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$host$request_uri;
}


常见问题排查

  • 端口占用
    使用 netstat -tulnp 检查端口冲突,修改 Spring Boot 或 Nginx 配置。

  • 权限问题
    确保 /var/www/opt/spring-app 目录权限正确:

    sudo chown -R www-data:www-data /var/www
    

  • 日志查看
    Spring Boot 日志默认输出到 nohup.out,Nginx 日志位于 /var/log/nginx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值