【部署】将项目部署到云服务器

目录

1.获得服务器

2.连接到云服务器

3.配置环境

3.1.Java(运行后端所需)

3.2.MySQL数据库

3.3.Nginx(运行前端所需)

[3.4. Node.js(构建前端所需)](#3.4. Node.js(构建前端所需))

4.打包项目

4.1.打包后端项目

4.2.打包前端项目

5.上传项目到服务器

5.1.上传后端项目

5.2.上传前端项目

6.配置后端服务

6.1.启动后端应用

6.2.配置防火墙

[7.配置 Nginx 反向代理](#7.配置 Nginx 反向代理)

[7.1.编辑 Nginx 配置](#7.1.编辑 Nginx 配置)

8.访问应用


将项目部署到云服务器(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; # 替换为你的域名或 IP

    复制代码
      location / {
          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.访问应用

  1. 在浏览器中访问你的服务器 IP 或域名,前端页面应该能够正常加载
  2. 后端 API 请求(如 /api/)会通过 Nginx 反向代理转发到后端应用
相关推荐
人工智能训练5 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
微露清风6 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
阳光九叶草LXGZXJ7 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
小二李9 小时前
第11章 nestjs服务端开发:登录鉴权
运维·服务器
i建模9 小时前
如何在Arch Linux中重设忘记的root密码
linux·运维·服务器
chatexcel10 小时前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
kida_yuan10 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
何中应12 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
野犬寒鸦12 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
江畔何人初12 小时前
kubernet与docker的关系
linux·运维·云原生