Axum+Vue3前后端分离生产环境部署

1.准备条件

  1. 前端已开发完成并可成功构建
  2. 后端已开发完成并可成功构建
  3. 已安装Nginx服务器

2.前端

前端使用Nginx托管静态文件

1.在项目根目录执行命令npm run build生成dist目录

2.将生成的dist目录复制到/var/www目录下面,例如/var/www/vue-project/dist

3.在目录/etc/nginx/sites-available下面创建服务配置文件vue-project.conf,内容如下:

bash 复制代码
server {
    listen 80;   # 监听端口号
    server_name yourdomain.com;    # IP或者域名
    
    location / {
        root /var/www/vue-project/dist;    # 静态文件根目录
        index index.html;    # 默认索引文件
        try_files $uri $uri/ /index.html;    # 处理所有路径请求
    }
    
    # 代理API请求到后端
    location /api/ {    # 将以/api开头的请求代理到后端服务
        proxy_pass http://localhost:8000/;     # 后端服务器地址
        proxy_set_header Host $host;    # HTTP请求头
        proxy_set_header X-Real-IP $remote_addr;    # 将客户端真实IP传递给后端
    }
}

4.使配置文件生效

ln -s /etc/nginx/sites-avaiable/vue-porject.conf /etc/nginx/sites-enabled/vue-project.conf

5.重新加载nginx服务

systemctl restart nginx

3.后端

后端使用systemd管理服务

1.在项目根目录先使用命令cargo build --release构建出二进制文件,产物路径为target/release/your_project_name

2.在目录/etc/systemd/system下创建配置文件,例如project_name.service,内容如下:

ini 复制代码
[Unit]
Description=SoulStranded Web Server   # 服务描述信息

[Service]
ExecStart=/root/workspace/project_name/target/release/project_name   # 构建产物二进制路径
WorkingDirectory=/root/workspace/soulstranded/backend    # 项目根目录
Restart=always    # 服务退出时自动重启

[Install]
WantedBy=multi-user.target    # 服务的启动级别依赖关系

3.启用并启动服务

bash 复制代码
sudo systemctl enable project_name
sudo systemctl start project_name
相关推荐
明月_清风4 天前
全栈工程师必会技术栈:从入门到架构的完整成长地图 🗺️
前端·后端·全栈
狂师4 天前
AI 测试提效 | 告别手工写脚本,分享我的 Playwright + Skill 批量生成 UI 自动化脚本方案
人工智能·测试·全栈
用户938515635074 天前
从零构建《天龙八部》知识库:EPUB 加载→文本分割→向量嵌入→Milvus 存储→RAG 问答,一条链路打通
javascript·人工智能·全栈
何时梦醒5 天前
React + TypeScript 企业级开发实战:从零搭建到组件架构演进
前端·react.js·全栈
前端双越老师5 天前
Nest.js 和 Spring Boot 为何如此像?写给前端转 Java 的同学
java·spring boot·全栈
Staticy6 天前
Claude Code 接国产模型不能识图?一个 MCP 让纯文本模型也能看图
人工智能·ai编程·全栈
极简前端打杂工6 天前
从0到1搭建通用低代码平台(-)— 表单设计器
前端·全栈
swipe6 天前
11|(前端转全栈)购物车不能只存在前端:用户维度数据如何在后端落库
前端·后端·全栈
swipe6 天前
10|(前端转全栈)库存扣减为什么最容易出事故?SKU、并发与原子更新
前端·后端·全栈
_lucas6 天前
给知识库网站接入AI问答
前端·ai编程·全栈