1.1 nest搭建静态服务

文档地址:https://docs.nestjs.cn/8/

1、初始化项目

npm i -g @nestjs/cli

nest new demo

npm run start:dev   //项目正常启动

2、 搭建静态服务

安装依赖

npm install --save @nestjs/serve-static

 在app.moudle.ts中引用

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { ServeStaticModule } from "@nestjs/serve-static";
import { join } from 'path';
@Module({
  imports: [
    ServeStaticModule.forRoot({rootPath: join(__dirname, '..', 'public'),})
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

在项目根目录新建一个public目录,并建立一个file.txt文件

启动项目

npm run start:dev

访问http://localhost:3000/file.txt

### 部署基于 Vue3 的前后端分离项目最佳实践 #### 一、前端部分部署 对于 Vue3 构建的前端项目,通常会将其打包成静态文件并托管到支持静态资源服务的地方。以下是具体操作: 1. **构建生产环境下的静态资源** 使用 Vue CLI 或 Vite 工具来生成优化后的静态资源文件。运行以下命令完成构建过程: ```bash npm run build ``` 这将在 `dist` 文件夹下生成用于生产的静态文件[^1]。 2. **配置 Web Server 托管静态资源** 可以选择 Nginx 来提供高效的静态资源服务。创建一个简单的 Nginx 配置如下所示: ```nginx server { listen 80; server_name your-domain.com; root /path/to/dist; # 替换为实际 dist 路径 index index.html; location / { try_files $uri /index.html; } location /static/ { alias /path/to/dist/static/; } } ``` 3. **处理单页应用(SPA)路由问题** 单页面应用程序可能涉及动态路径跳转,因此需要确保服务器能够正确响应这些请求并将它们重定向至 `index.html` 页面。 --- #### 二、后端部分部署 假设使用的是 Nest.js 后端框架,则可以按照以下方式进行部署1. **安装 PM2 并启动 Node 应用程序** 推荐使用 PM2 来管理 Node.js 应用进程,从而实现高可用性和自动重启功能。 ```bash npm install pm2 -g pm2 start dist/main --name my-nest-app pm2 save ``` 2. **设置反向代理** 如果希望统一通过 Nginx 处理 HTTP 请求,可以在同一台机器上配置反向代理指向后端 API 地址: ```nginx upstream backend_api { server localhost:3000; # 默认 Nest.js 开启端口 } server { listen 80; server_name api.your-domain.com; location /api/ { proxy_pass http://backend_api; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` --- #### 三、综合考虑事项 为了使整个系统更加稳定可靠,还需要注意以下几个方面: 1. **域名解析与 SSL 加密** 注册合适的顶级域名为用户提供访问入口,并启用 HTTPS 提升安全性。可以通过 Let’s Encrypt 获取免费证书[^2]。 2. **数据库连接池优化** 对于依赖 MySQL/MongoDB 数据库的应用场景来说,合理调整最大并发数以及超时时间参数至关重要。 3. **日志记录机制完善** 定期监控错误信息以便及时发现潜在隐患;同时保留必要的调试数据方便排查问题。 4. **持续集成流水线搭建** 自动化测试加发布流程减少人为失误风险,提高工作效率。 --- ### 总结 以上便是关于如何高效地部署一个基于 Vue3 和 Nest.js 技术栈所打造出来的现代化互联网产品实例介绍。遵循上述指导原则可以帮助开发者顺利完成从本地开发过渡到线上运营阶段的工作任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值