开发者

Setup MongoDB on Windows Server 2008

开发者 https://www.devze.com 2023-01-19 18:49 出处:网络
I\'m new to mongoDB and like it so far, I work local for my dev where I have mongo running as service on Win7. I have it allso running as a service on my VPS on Win server 2008. When I am on the serve

I'm new to mongoDB and like it so far, I work local for my dev where I have mongo running as service on Win7. I have it allso running as a service on my VPS on Win server 2008. When I am on the server it works fine but I don't know hos to set it up so I can acces it from outside of the server? Can't find any good documentation on that. Also, I'm having hard time to do backup/restore on the server from my local computer since I can't see it from outside of the server.

I would like to have more information also on the master/slave and hos to set this up properly.

When I run netstat -anb I get

  TCP    127.0.0.1:27017        0.0.0.0:0              LISTENING
 [mongod.exe]
  TCP    127.0.0.1:27017        127.0.0.1:62990        ESTABLISHED
 [mongod.exe]
  TCP    127.0.0.1:28017        0.0.0.0:0              LISTENING

That's all I have for mongod.exe

[Edit]

I tried to reinstall with -开发者_JAVA技巧-bind_ip xxx.x.x.xx and now the xxx.x.x.xx:27017 works but only on the remote server, if I try to access from anywhere it fails.

Also, I turned off the firewall and it does not change anything.

Thanks a lot!


I think I found how to achieve it. First of all, allow the port 27017 on your firewall. Then I installed Mongo as a service using a configuration file. I created the mongos.conf like this:

dbpath = d:\mongo\data
logpath = d:\mongo\logs
noauth = true # use 'true' for options that don't take an argument

I saved it under: d:\mongo\mongos.conf

Then I did this in the command line:

mongod --config d:\mongo\mongos.conf --reinstall

The key is to make sure there is no bind_ip config key in your configuration file. So it will allow mongo to be binded to any ip. You should then be able to go to

http://localhost:27017 and see the following message:

You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number

And you should also be able to go to:

http://192.168.x.x:27017 (your ip) and you should see the same output.


In the mongod.cfg (at C:\Program Files\MongoDB\Server\4.0\bin), just update:

# network interfaces
net:
  port: 27017
#  bindIp: 127.0.0.1
  bindIp: 0.0.0.0

Then restart the MongoDB Server service

let the mongo db bing to 0.0.0.0 i.e. all interfaces and not only 127.0.0.1. Then it will allow connections to all interfaces.


Try running this command from an admin DOS prompt to open external access to the default MongoDB port 27017:

C:\> netsh.exe advfirewall firewall add rule name="MongoDB (port 27017)"
        dir=in action=allow protocol=TCP localport=27017


If you can't access it remotely it sounds like a firewall issue. By default mongod listens on port 27017. Is that port accessible from the machine you are trying to connect from? This sounds like more or a firewall issue than an issue with mongod. Can you edit your question to provice the command line the mongo service runs as.

A good source for information on replica sets in this article on Kristina Chodorow's blog.


For MongoDb 4.x I did the following things:

  1. I edited firewall and enabled port 27017 access on host computer.
  2. By default MongoDb is installed on C:\Program Files\MongoDB\Server\4.0\bin in Windows and it contains a file called mongod.cfg.

    • I open my notepad++ editor in admin mode and edit the file.
    • Find the bindIp: 127.0.0.1 and added host ip bindIp: 127.0.0.1, 192.168.1.xxx
  3. Restart MongoDb service and you should be able to access it from another computer 192.168.1.xxx:27017.


Install mongo and setup

  1. Install mongodb with windows service checked

  2. Allow specific port in firewall: 27017

  3. In the mongod.cfg (at C:\Program Files\MongoDB\Server\4.4\bin), just comment bindIp: 127.0.0.1 and add new line bindIp: 0.0.0.0:

    # network interfaces
    net:
      port: 27017
    #  bindIp: 127.0.0.1
      bindIp: 0.0.0.0

Last two steps will allow you remote access

create user

  1. Open cmd go to path of installation, for example C:\Program Files\MongoDB\Server\4.4\bin

  2. in cmd type mongo C:\Program Files\MongoDB\Server\4.4\bin>mongo

  3. then type use admin (admin is database) and at the end

  4. db.createUser( { user: "adminName", pwd: "xxxxxx", roles: ["readWrite"] })

  5. restart mongo service in services


  1. Enable Windows Firewall 27017 port for public & private.
  2. exit current mongoDB, re-run mongod

some details can be refer to this article http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-install-mongodb-windows-server/

0

精彩评论

暂无评论...
验证码 换一张
取 消