一个 基于nuxt3 + vite + ts 搭建的 网盘服务 (附带部署教程)

时间:2024-07-21 08:18:09

目录

  • 介绍
    • 技术选型
    • 功能介绍
    • 代码地址
    • 部署
      • 安装 node 环境
      • 打包代码
      • 安装 pm2 去 后台运行代码
      • 安装一个nginx

介绍

最近 有个卖课的朋友 谈到 网盘没有目录分享的功能,我之前嫖了他太多课了,出于感激给他写个小服务。
在线地址: http://godboxs.cn

技术选型

由于涉及到 后端转发接口到网盘,防止出现跨域,以及便于扩展。需要一个node bff 层服务。
开始准备 前后端 弄2套代码,感觉太麻烦了,并且功能也很简单。于是考虑直接 nuxtjs 一把梭

功能介绍

在这里插入图片描述

代码地址

https://github.com/duKD/cloud-store

部署

准备一个 linux 云服务器

安装 node 环境


推荐 18.0+

打包代码

npm run build 

得到 .output 文件夹

上传到 linux 服务器上

安装 pm2 去 后台运行代码

npm install -g pm2

启动 nuxt 服务

pm2 start ./解压目录/server/index.mjs

在这里插入图片描述

安装一个nginx

需要nginx 做一个 反向代理工作

这里我是使用 docker 安装的 ng

安装docker 的步骤我就不写了。

下载不下来 使用 阿里的源

docker pull nginx

// 先启动 一个 初始化的 nginx 
docker run --name nginx  -p 80:80  -d  nginx

// 我们需要拷贝 初始化的配置文件

docker container cp nginx:/etc/nginx  /你的目录 (/etc/cloud)

在这里插入图片描述

再使用 docker stop [containerId]
 docker rm [containerId]
删除容器服务

再 在 /etc/cloud 下创建 logs 的目录 

在这里插入图片描述
重写启动 挂载 配置文件 和 log

 docker run --name c-nginx  -p 80:80   -v /etc/cloud/nginx:/etc/nginx -v /etc/cloud/logs:/var/log/nginx   -d  nginx

测试访问 80端口

在这里插入图片描述
正常

再配置 下 代理 将 80 端口的的请求 转发到 3000 端口
在这里插入图片描述

注意:dcoker 配置的 nginx 代理地址需要写 宿主机 内网ip , 宿主机的 nginx 代理地址 写 127.0.0.1 即可

最后重新启动 nginx ,完成部署!