MongoDB(14)如何修改MongoDB的默认端口?

8 阅读3分钟

修改MongoDB的默认端口(27017)可以通过编辑配置文件或在启动命令中指定自定义端口号。以下是详细的步骤,分别针对Ubuntu(及其他基于systemd的Linux系统)、Windows和macOS三种操作系统。

在Ubuntu(及其他基于systemd的Linux系统)上

修改配置文件

MongoDB的默认配置文件通常位于 /etc/mongod.conf。可以通过编辑该文件来修改默认端口。

  1. 打开配置文件

    使用文本编辑器(如nanovim)打开配置文件:

    sudo nano /etc/mongod.conf
    
  2. 修改端口

    找到net部分,修改port为你想要的端口号,例如:

    net:
      port: 28017
    
  3. 保存并退出

    保存文件并退出编辑器。

  4. 重启MongoDB服务

    使更改生效,重启MongoDB服务:

    sudo systemctl restart mongod
    

验证

使用netstatss命令确认MongoDB是否监听新的端口:

sudo netstat -plnt | grep 28017

sudo ss -plnt | grep 28017

在Windows上

修改配置文件

MongoDB的默认配置文件通常位于 C:\Program Files\MongoDB\Server\<version>\bin\mongod.cfg。可以通过编辑该文件来修改默认端口。

  1. 打开配置文件

    使用文本编辑器(如Notepad或Notepad++)打开配置文件:

    notepad "C:\Program Files\MongoDB\Server\<version>\bin\mongod.cfg"
    
  2. 修改端口

    找到net部分,修改port为你想要的端口号,例如:

    net:
      port: 28017
    
  3. 保存并退出

    保存文件并退出编辑器。

  4. 重启MongoDB服务

    使更改生效,重启MongoDB服务:

    net stop MongoDB
    net start MongoDB
    

验证

使用netstat命令确认MongoDB是否监听新的端口:

netstat -ano | findstr :28017

在macOS上

修改配置文件

MongoDB的默认配置文件通常位于 /usr/local/etc/mongod.conf。可以通过编辑该文件来修改默认端口。

  1. 打开配置文件

    使用文本编辑器(如nanovim)打开配置文件:

    sudo nano /usr/local/etc/mongod.conf
    
  2. 修改端口

    找到net部分,修改port为你想要的端口号,例如:

    net:
      port: 28017
    
  3. 保存并退出

    保存文件并退出编辑器。

  4. 重启MongoDB服务

    使更改生效,重启MongoDB服务:

    brew services restart mongodb/brew/mongodb-community
    

验证

使用netstatlsof命令确认MongoDB是否监听新的端口:

netstat -an | grep 28017

sudo lsof -i :28017

使用命令行参数修改端口

除了通过配置文件修改端口,还可以直接通过命令行参数指定服务端口启动MongoDB实例。

启动MongoDB实例

使用自定义端口启动MongoDB实例:

mongod --port 28017 --dbpath /path/to/your/db --logpath /path/to/your/log --fork

示例

创建一个新的存储路径 /custom/data/mongodb 并使用新的端口 28017 启动MongoDB实例:

sudo mkdir -p /custom/data/mongodb
sudo chown -R mongodb:mongodb /custom/data/mongodb

mongod --port 28017 --dbpath /custom/data/mongodb --logpath /custom/data/mongodb/mongod.log --fork

使用Node.js连接到修改后的端口

以下是使用Node.js和MongoDB驱动程序连接到修改后的端口 28017 的示例代码:

  1. 安装MongoDB Node.js驱动

    npm install mongodb
    
  2. 连接到MongoDB并执行操作

    const { MongoClient } = require('mongodb');
    
    async function main() {
        const uri = "mongodb://localhost:28017";
        const client = new MongoClient(uri, { useUnifiedTopology: true });
    
        try {
            await client.connect();
            console.log("Connected to MongoDB on custom port 28017");
    
            const db = client.db('exampledb');
            const collection = db.collection('examplecoll');
    
            // 插入数据
            const insertResult = await collection.insertOne({ name: "Alice", age: 30 });
            console.log('Insert Result:', insertResult);
    
            // 查询数据
            const findResult = await collection.findOne({ name: "Alice" });
            console.log('Find Result:', findResult);
    
        } finally {
            await client.close();
        }
    }
    
    main().catch(console.error);
    

总结

修改MongoDB的默认端口可以通过以下步骤:

  1. 修改配置文件:找到net部分,修改port为你想要的端口号。
  2. 重启MongoDB服务:使更改生效,重启MongoDB服务。
  3. 验证:使用系统命令确认MongoDB是否监听新的端口。

这些步骤和代码示例可以帮助你在不同操作系统上配置和验证MongoDB的端口设置,确保MongoDB实例正常运行在指定的端口上。