看图学云服务器搭建Node.js+MangoDB网站

723 阅读3分钟

〇、远程连接云服务器

图片.png

图片.png

修改示例名称

默认的示例名字太长了,不利于代码 ,强迫症必须改。学会 Linux系统使用vim编辑器,对于新手来说需要多摸索

vi /etc/hostname  (vi 同vim)
Shift+i 进入插入模式--INSERT-- 
修改名字为 lc 
ESC退出 插入模式
Shift+: 进入命令行模式
:wq 保存并退出vim编辑器
输入reboot 重启服务器

图片.png

查看服务器版本 uname -a 图片.png

一、安装Node.js环境

去Node.js官网找到匹配系统的版本,定制命令 图片.png

1.根据官网步骤操作(验证有效,环境Linux)

# 下载 并 安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"

# 下载 并 安装 Node.js:
nvm install 23

# 验证 Node.js 版本:
node -v # 应显示 "v23.8.0".
nvm current # 应显示 "v23.8.0".

# 下载 并 安装 pnpm :
corepack enable pnpm

# 验证 pnpm 版本:
pnpm -v

# 设置为淘宝镜像源
pnpm config set registry https://registry.npmmirror.com/

图片.png

图片.png

2.验证Node.js搭建HTTP服务器

上传HTTP服务器代码文件 1.js 在云服务器上创建目录 /var/www 。我这里使用的服务商网页版管理工具wordBench

图片.png

// 1. 导入 http 模块
const http = require('http');

// 2. 创建 HTTP 服务器实例
const server = http.createServer((req, res) => {

  // req: 请求对象,包含客户端信息(IP、URL、请求头等)
  // res: 响应对象,用于向客户端发送数据
  // 设置响应头(内容类型为 HTML)

  res.setHeader('Content-Type', 'text/html');

  // 发送响应内容
  res.end('<h1>Hello World!</h1><p>这是最简单的 Node.js HTTP 服务器!</p>');

});


// 3. 监听指定端口(默认 80 端口或自定义端口,如 3000)
const PORT = process.env.PORT || 80;
server.listen(PORT, () => {
  console.log(`服务器正在运行:http://localhost:${PORT}`);

})

使用cd命令跳转到 /var/www 目录下,执行node 1 运行 HTTP服务器代码

图片.png

在浏览器访问服务器公网IP,大功告成!

图片.png

二、安装MangoDB数据库 Ubuntu 24.04 (Noble)

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=24.04

DISTRIB_CODENAME=noble

DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"

1.导入公钥。

图片.png 从终端安装 gnupg 和 curl(如果尚未安装):

sudo apt-get install gnupg curl

要导入 MongoDB 公共 GPG 密钥,请运行以下命令:

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor

图片.png

特别要注意这段话的复制,官网有个/换行,太坑了。 成功辉出现 y/N

2 创建列表文件。

图片.png 为您的 Ubuntu 版本创建列表文件 /etc/apt/sources.list.d/mongodb-org-8.0.list。

为 Ubuntu 24.04 (Noble) 创建列表文件:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

3 重新加载包数据库。

发出以下命令以重新加载本地软件包数据库:

sudo apt-get update

4 安装MongoDB Community Server。

您可以安装最新稳定版本的 MongoDB 或指定版本的 MongoDB。

要安装最新的稳定版本,请执行以下命令:

sudo apt-get install -y mongodb-org

删除 sudo apt-get purge mongodb-org*

5.启动MangoDB

sudo systemctl start mongodb

图片.png

6.验证Node.js跑通MangoDB

准备文件2.js,上传到云服务器目录 /var/www, 使用cd命令到 该目录下执行 node 2

const { MongoClient } = require('mongodb');

// MongoDB 连接字符串,根据你的实际情况修改
const uri = 'mongodb://localhost:27017';

// 创建一个新的 MongoClient 实例
const client = new MongoClient(uri);

async function testConnection() {
    try {
        // 连接到 MongoDB 服务器
        await client.connect();
        console.log('成功连接到 MongoDB 服务器');

        // 可以在这里执行一些简单的操作,例如列出数据库
        const databasesList = await client.db().admin().listDatabases();
        console.log('可用的数据库:');
        databasesList.databases.forEach(db => console.log(` - ${db.name}`));

    } catch (error) {
        console.error('连接到 MongoDB 服务器时出错:', error);
    } finally {
        // 关闭连接
        await client.close();
        console.log('MongoDB 连接已关闭');
    }
}

// 调用测试函数
testConnection();

成功运行效果:

图片.png

三、驯服MangoDB

1.MangoDB使用mongosh

图片.png

2. ubuntu24.04配置mangoDB8.0.5远程登录

# 修改/etc/mongod.conf
net:
  port: 27017
  bindIp: 0.0.0.0  # 允许所有网络接口连接

# 重启MangoDB
sudo systemctl restart mongod

# 查看MangoDB状态
sudo systemctl status mongod

图片.png

无权限,这里可以直接测试 直接使用软件连服务器就可以了,记得云服务器开防火墙 TCP 入站放 27017端口

图片.png

2.进入MongoDB Shell

图片.png

3.创建管理员账户

图片.png


use admin;
db.createUser({
  user: "admin",
  pwd: "your_strong_password",
  roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
});
4.查看端口开放

图片.png

图片.png

5.测试联通

图片.png

四、插曲

1、MangoDB官网(Ubuntu 24.04 (Noble)环境下操作指南

www.mongodb.com/zh-cn/docs/…

2、惊天!Node.js v18.6以上不用再安装pnpm了。

corepack enable pnpm

功能corepack 是 Node.js 内置的包管理器,该命令启用并安装 pnpm 包管理器。

daaa6ee9e8ae56606507bf3a85c046d3.png

3、自研Liunx装最新的MangoDB无解,重置系统为Ubuntu

Linux安装MangoDB有太多位置因素,正好云服务器平台有数据库使用,体验一下。 免费适用一个月先。 图片.png

购买云数据库服务,这SDK代码都看着复杂!决定还是自己在服务器上装!!! 图片.png

配置存储库 使用vi命令创建 /etc/yum.repos.d/mongodb-org-8.0.repo 文件,以便直接使用 yum 来安装 MongoDB:

[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-8.0.asc

图片.png

图片.png

更新了一波 图片.png

由于用的都是最新版本,系统级错误最难解决。 开始用的是自研Linux,为了对应MangoDB直接重装系统!哇,几分钟

图片.png

图片.png

4、Ubuntu安装Node.js超时

凌晨 服务器维护? 错误发生在0点到零点5分 ,特么得 0点10分网络联通了 图片.png