iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Vercel+MongoDBAtlas部署详细指南
  • 324
分享到

Vercel+MongoDBAtlas部署详细指南

VercelMongoDBAtlas部署VercelMongoDBAtlas 2022-11-13 13:11:36 324人浏览 独家记忆
摘要

目录用Vercel和mongoDB Atlas进行部署WEB应用程序部署到VercelVercel-MonGoDB 应用程序的开发和生产架构SvelteKit 演示应用程序清单1.S

用Vercel和MongoDB Atlas进行部署

如何使用Vercel和MongoDB Atlas进行部署,甚至不需要尝试

Web应用程序部署到Vercel

你现在可以将你的Web应用程序部署到Vercel,并让它自动使用MongoDB Atlas集群作为数据存储。具体方法如下:

2022年MongoDB世界大会最有趣的公告之一是Vercel-MongoDB集成的发布。我们在这里看到的是整合大型基础设施组件的逐步简化和标准化。你能够利用你的数据存储和主机中的大量力量,而不需要在架构上大费周章。

减少对架构的纠结意味着有更多的时间来实现你的核心目标。让我们来看看新的精简的集成。

[也在InfoWorld上:2022年软件开发的方向]

在一起使用MongoDB和Vercel已经相当容易。然而,新的官方集成提供了一种标准的、带来若干好处的规定方法。让我们在我之前用来演示Vercel-MongoDB集成的这个项目上,看看事情是如何进行的。

你的Vercel和MongoDB Atlas基础设施之间的铰链是MONGODB_URI 环境变量。官方集成处理定义这个变量,并为你分享它,以及必要的权限。

  • 对于我们这里的演示,我们想要实现的是一个基于SvelteKit的应用程序,我们在本地开发,有一个本地MongoDB数据存储。
  • 然后我们想把这个应用部署到Vercel,让它自动使用MongoDB Atlas集群作为其数据存储。这是一个非常常见的设置。顺便说一句,这对React/Next或Vue/Nuxt来说,大部分工作都是一样的。基本设置见图1。

Vercel-MongoDB 应用程序的开发和生产架构

SvelteKit 演示应用程序

我们的演示应用程序是一个 SvelteKit 应用程序,它允许创建一个简单的文档,即 apothegm,带有一个文本和作者字段,并显示数据库中的 apothegms 列表。对于我们的文件的文本,我们将使用一些精炼的神谕。

SvelteKit是一个全栈框架,所以我们将使用视图中的load方法来访问后端并加载任何现有的apothegms,如清单1。

清单1.SvelteKit的load()方法

 export async function load({ params, fetch, session, stuff }) {
    const res = await fetch('/apothegm', {
      method: "GET",
      headers: { 'content-type': 'application/JSON' }
    });
    return {
      props: {
        apothegms: await res.json()
      }
    };
  }
复制代码

你可以在这里找到更多关于SvelteKit的加载方法的信息,但主要的想法是,我们在页面启动之前就会点击后端api,并将结果的JSON插入到props.apothegms 字段中。该字段也暴露在一个普通的脚本元素中,因此页面可以访问它,行数为export let apothegms;

在后端,/apothegm获取方法看起来像清单2。

清单2.从后端取回apothegms

import clientPromise from '../lib/mongo';

export async function get ({request}) {
  const dbConnection = await clientPromise;
  const db = dbConnection.db("apothegm");
  const collection = db.collection("apothegm");
  let apos = await collection.find({}).toArray();

  return {
    status: 200,
    headers: { 'content-type': 'application/json' },
    body: { apos }
  };
}
复制代码

清单2返回一个充满从数据存储中检索的apothegms的主体,即从apothegm数据库和apothegm集合中检索。这个方法主要依赖于从lib/mongo导入的clientPromise 对象。让我们看看清单3中该模块的相关部分。

清单3.MongoDB帮助器/lib/mongo.js

import 'dotenv/config';
import { MongoClient } from 'mongodb';

const uri = process.env["MONGODB_URI"];
const options = {
    useUnifiedTopology: true,
    useNewUrlParser: true,
}

let client;
let clientPromise;

if (!uri) {
    throw new Error('Please set Mongo URI')
}

if (process.env['node_ENV'] === 'development') {
    if (!global._mongoClientPromise) {
        client = new MongoClient(uri, options)
        global._mongoClientPromise = client.connect()
    }
    clientPromise = global._mongoClientPromise
} else {

    client = new MongoClient(uri, options)
    clientPromise = client.connect()
}

export default clientPromise
复制代码

清单3通过MONGODB_URI 环境变量创建一个与MongoDB实例的连接来完成其工作。这个变量是通过调用process.env["MONGODB_URI"] 从环境中提取的。

注意这个文件的第一行是调用导入'dotenv/config' 。这个导入导致dotenv库自我启动。dotenv的目的是为应用程序从配置文件中加载环境变量(以一种与操作系统无关的方式)。更多相关信息请点击这里。

对于我们的应用程序,我们想在开发期间将该变量设置为本地URI,并在生产期间将其设置为远程MongoDB Atlas URL。我们可以通过提供一个.env文件来做到这一点,dotenv在本地开发时可以找到这个文件,但在生产时则不能。为了达到这个目的,我们不将该文件纳入版本控制--我们将其添加到.gitignore。清单4中显示了这两个文件的相关部分。

清单4.添加到.env和.gitignore中

// .env
MONGODB_URI="mongodb://localhost:27017
复制代码
// .gitignore
.env
.env.*
复制代码

这意味着在开发过程中,我们的应用程序将击中本地MongoDB的安装。在这一点上,你可以用npm run dev 来启动该应用程序,一切都应该正常。

Vercel-MongoDB的生产设置

现在,开发已经启动并运行,我们将把注意力转向设置生产,或者我们称之为prod。在现实世界中,你将实施测试和暂存步骤,然后从暂存推广到生产。

在任何情况下,你都需要Vercel和MongoDB Atlas的账户。这两项服务都提供了免费的业余级别的账户,设置起来快速而简单。MongoDB注册,Vercel注册。

将项目导入Vercel

一旦你有了账户,你就可以登录Vercel,创建一个新项目,并导入项目的代码。

一旦导入完成,Vercel将自动构建和部署该项目。(松了一口气:没有额外的基础设施工作。) 构建将成功,但当你查看该项目时将显示一个错误。这是因为没有可用的数据存储。

创建一个MongoDB Atlas集群

现在你想在MongoDB Atlas中创建一个集群,作为你的生产数据的家。在你的MongoDB控制台,很容易创建一个免费的集群(说明在这里)。你还会在这一过程中创建一个数据库用户。

回到Vercel来添加集成

一旦你有一个可使用的集群,下一步是将MongoDB集成添加到你的Vercel用户账户。(在企业设置中,你可以把它添加到你的Vercel团队中。) 导航到vercel.com/integration…,点击顶部的 "添加集成 "按钮。你会看到一个包含下拉菜单的模式,你想使用的账户应该出现在那里,如下图屏幕1。

屏幕1.添加MongoDB Atlas集成到Vercel

接下来,你可以选择将集成添加到所有项目或特定项目中。为了这个演示,让我们选择 "添加到所有 "并点击继续。

暂时回到MongoDB Atlas中

添加集成将在另一个窗口中启动一个MongoDB注册页面。如果你还没有一个MongoDB账户,你可以设置一个。否则,请登录到你现有的账户。

接下来,一个对话框将询问将集成添加到哪个MongoDB Atlas组织。使用你为你的用户设置的默认值即可。

最后,在最后一个屏幕上点击确认按钮,接受你必须手动卸载集成,如果你想删除它,如屏幕2所示。

屏幕2.在MongoDB Atlas中确认组织权限

现在你会看到你选择的MongoDB Atlas项目和其中的集群。 你将把左侧下拉框中的集群与右侧多选中的一个或多个Vercel项目联系起来。在我们的案例中,我们想把我们之前创建的Vercel项目添加到右侧的选择中。你可以在屏幕3中看到这一点。

屏幕3.将Vercel项目与MongoDB Atlas集群相关联

下一步是在MongoDB Atlas集群和Vercel项目之间创建桥梁。确保你在Vercel方面选择了正确的项目!

一旦这样做了,Vercel项目将自动访问我们需要的环境变量(MONGODB_URL),以便轻松地连接到数据存储。

回到Vercel进行测试

回到Vercel中,你会在集成标签中看到MongoDB Atlas集成,如屏幕4。

屏幕4.Vercel中的MongoDB Atlas集成

在这里,你可以对集成的Vercel端进行修改(包括卸载它,如果你愿意,选择管理->卸载)。

接下来,我们验证Vercel项目是否已经接受了新的环境变量,该变量指的是MongoDB Atlas的安装。打开Vercel项目,并点击设置。在设置中,点击左侧菜单中的 "环境变量"。然后你应该看到一个MONGODB_URI 变量列在那里,如屏幕5。

屏幕5.Vercel项目中的环境变量

如果你点击变量中的眼睛图标,你可以看到值,它应该指向你的MongoDB Atlas集群。这验证了环境变量在部署时对应用程序是可用的。

现在,如果你点击项目查看,你会看到它正在运行,数据由Atlas集群驱动,如屏幕6所示。

屏幕6.在prod中运行的Vercel-MongoDB Atlas集成

最重要的是,Vercel-MongoDB集成给了我们一个简单的方法来连接我们部署在Vercel中的应用程序和运行在MongoDB Atlas中的数据存储。类似的方法可用于将应用程序与不同环境中的数据联系起来,从测试到暂存,再到生产。

总的来说,这种整合允许用一种更标准化的方法来利用全球 "扩展到零 "的基础设施,而不需要太多麻烦。

以上就是Vercel+MongoDB Atlas部署详细指南的详细内容,更多关于Vercel MongoDB Atlas部署的资料请关注编程网其它相关文章!

--结束END--

本文标题: Vercel+MongoDBAtlas部署详细指南

本文链接: https://www.lsjlt.com/news/171359.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vercel+MongoDBAtlas部署详细指南
    目录用Vercel和MongoDB Atlas进行部署Web应用程序部署到VercelVercel-MongoDB 应用程序的开发和生产架构SvelteKit 演示应用程序清单1.S...
    99+
    2022-11-13
    Vercel MongoDB Atlas部署 Vercel MongoDB Atlas
  • Vercel+Railway部署Typecho动态博客(超详细图文教程-Vercel CLI办法)
    这次讲一下如何用 Vercel 部署 Typecho 动态博客 本文写于 2023 年 1 月 6 日,文中我的问题你可能不会出现,出现其他问题请自行百度 由于我这里有一个玄学问题:Vercel 不能...
    99+
    2023-09-07
    php
  • Hexo部署到阿里云ECS的详细指南
    本文主要介绍了如何使用Hexo构建个人或企业博客,并部署到阿里云ECS服务器上。通过本篇文章,读者可以了解到如何使用Hexo搭建博客,以及如何使用阿里云ECS服务器来部署博客。 一、Hexo简介Hexo是一款开源的静态博客框架,它可以帮助我...
    99+
    2023-11-04
    阿里 指南 详细
  • 阿里云服务器部署地图的详细指南
    在数字化时代,地图已经成为我们生活、工作和学习的重要工具。为了方便使用,很多公司和个人选择在自己的服务器上部署地图。本文将详细介绍如何在阿里云服务器上部署地图。 准备工作:首先,你需要有一个阿里云服务器,然后在服务器上安装好地图相关的软件,...
    99+
    2023-12-15
    阿里 服务器 地图
  • 阿里云部署项目数据库的详细指南
    随着云计算技术的发展,越来越多的企业开始将其业务转移到云端。其中,数据库是企业数据存储的核心,也是业务运行的重要支撑。因此,如何在阿里云上部署项目数据库成为了众多企业关注的焦点。本文将详细介绍阿里云数据库部署的具体步骤和需要注意的事项,希望...
    99+
    2023-11-04
    阿里 数据库 指南
  • 逐步配置Golang环境:详细部署与安装指南
    在这篇文章中,我将向大家介绍如何一步步部署和安装Golang环境。Go语言是一种高效、简洁和强大的编程语言,它被广泛应用于后端开发、系统编程等领域。通过本教程,你将能够轻松配置Gola...
    99+
    2024-02-25
    golang 部署 环境配置 go语言
  • Node项目部署到阿里云服务器的详细操作指南
    本篇教程将详细说明如何将Node项目部署到阿里云服务器。我们将会首先创建阿里云服务器,然后安装Node.js和npm,最后将项目代码上传到服务器,实现项目的部署。 一、创建阿里云服务器首先,你需要在阿里云的官网注册并登录你的账户,然后点击“...
    99+
    2023-11-22
    阿里 操作指南 服务器
  • 云服务器部署指南
    1. 选择云服务提供商 选择一个可靠的云服务提供商是部署云服务器的第一步。目前市场上有很多知名的云服务提供商,如亚马逊AWS、微软Azure、谷歌云等。你可以根据自己的需求和预算选择适合的云服务提供商。 2. 注册账号并创建云服务器实例 ...
    99+
    2023-10-27
    服务器 指南
  • MySQL 跨平台部署指南
    MySQL 跨平台部署指南 随着信息化时代的不断发展,数据库在各行各业中扮演着至关重要的角色。MySQL作为一款开源的关系型数据库管理系统,在众多数据库产品中拥有广泛的应用。在现代企业...
    99+
    2024-03-01
    mysql 部署 跨平台 linux操作系统
  • Flask应用的Gunicorn部署指南
    如何使用Gunicorn部署Flask应用? Flask是一个轻量级的Python Web框架,被广泛应用于开发各种类型的Web应用。而Gunicorn(Green Unicorn)是一个基于Python的HTTP服务器,用于运...
    99+
    2024-01-17
    Flask gunicorn 部署
  • IDEA部署Tomcat(超详细)
    创建Web项目         我们首先使用IDEA创建一个普通的java项目         创建好后的项目结构如上图,我创建的项目名称为tomcat,这个项目现在还是一个普通的java项目,想要开发web程序,我们还要做一下操作,首先...
    99+
    2023-09-01
    intellij-idea tomcat java
  • 部署MySQL的详细步骤
    本篇内容主要讲解“部署MySQL的详细步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“部署MySQL的详细步骤”吧! 1.新建配...
    99+
    2024-04-02
  • 阿里云ECS环境部署指南
    简介:本文将详细介绍如何在阿里云上部署和管理ECS环境。我们将涵盖从创建ECS实例到配置网络、安装操作系统、安装软件和服务的所有步骤。 正文:创建ECS实例在阿里云控制台上,选择“ECS实例”选项,然后点击“创建实例”。在创建实例页面,您需...
    99+
    2024-01-26
    阿里 环境 指南
  • 部署VSCODESERVER的详细过程
    目录如何部署VSCODE SERVER演示环境使用'code' CLI参考如何部署VSCODE SERVER tags: how-to 本文指导利用微软官方的vsco...
    99+
    2023-05-15
    vscode server部署 vscode server vscode部署
  • Zabbix的详细安装部署
    目录 1.架构 2.安装  1)所有机器关闭防火墙和selinux  2)准备两台机器,一台用做server,一台用做agent,mysql部署在server端的机器上。  3)在10.8.156.38 安装zabbix的存储库  4)安装...
    99+
    2023-08-31
    zabbix 数据库 服务器 linux
  • Docker部署MicrosoftSqlServer详细步骤
    目录1 背景2 创建容器3 修改SA密码4 链接mssql5 容器外链接mssql总结1 背景 自 SQL Server 2019 CU3 起,支持 Ubuntu 18.04。 自 ...
    99+
    2024-04-02
  • Docker部署SonarQube的详细流程
    目录前言简介安装MySQL1. 拉取mysql 镜像2. 创建网络3. 创建并运行容器4. 允许外网访问安装SonarQube1.拉取镜像2. 创建工作目录3.运行容器4.创建容器并...
    99+
    2024-04-02
  • Docker部署portainer的详细步骤
    portainer Portainer是Docker的图形化管理工具,由GO语言编写的,提供状态显示、应用模板快速部署、对于Docker(容器、镜像、网络、数据卷)的基本操作、日志显...
    99+
    2024-04-02
  • docker 部署mysql详细过程(docker部署常见应用)
    之前给大家介绍过:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql:5.7.2...
    99+
    2024-04-02
  • Docker 部署RocketMQ的详细操作
    拉取镜像 docker search rocketmq docker pull foxiswho/rocketmq:4.8.0 启动NameServer docker run -d...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作