如何使用同一服务器上的nodejs连接到nginx后面的mongodb

时间:2017-06-28 15:27:45

标签: node.js mongodb nginx ubuntu-16.04 digital-ocean

我使用Ubuntu 16.04通过DigitalOcean创建了一个Droplet。 我想在服务器上部署我的网站,我需要在服务器上使用nodejs app和mongodb。

我没有设置nodejs应用程序的问题。我使用pm2和nginx作为反向代理,而letsencrypt用于https。

所以,问题。我不知道如何连接到我的mongodb服务器。我安装了mongodb。当我运行sudo systemctl status mongodb时,这会出现在输出中:

    mongodb.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-06-28 13:12:41 UTC; 2h 4min ago
 Main PID: 13918 (mongod)
    Tasks: 20
   Memory: 61.9M
      CPU: 1min 21.003s
   CGroup: /system.slice/mongodb.service
           └─13918 /usr/bin/mongod --quiet --config /etc/mongod.conf

启动mongod后,日志文件如下所示:

2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten] MongoDB starting : pid=13918 port=27017 dbpath=/var/lib/mo$
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten] db version v3.2.14
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten] git version: 92f6668a768ebf294bd4f494c50f48459198e6a3
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten] modules: none
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten] build environment:
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten]     distmod: ubuntu1604
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten]     distarch: x86_64
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten]     target_arch: x86_64
2017-06-28T13:12:41.583+0000 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127$
2017-06-28T13:12:41.643+0000 I -        [initandlisten] Detected data files in /var/lib/mongodb created by the 'wi$
2017-06-28T13:12:41.643+0000 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=2$
2017-06-28T13:12:42.482+0000 I CONTROL  [initandlisten]
2017-06-28T13:12:42.483+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is$
2017-06-28T13:12:42.483+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-06-28T13:12:42.483+0000 I CONTROL  [initandlisten]
2017-06-28T13:12:42.483+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is $
2017-06-28T13:12:42.483+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-06-28T13:12:42.483+0000 I CONTROL  [initandlisten]
2017-06-28T13:12:42.491+0000 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with direct$
2017-06-28T13:12:42.491+0000 I NETWORK  [initandlisten] waiting for connections on port 27017
2017-06-28T13:12:42.491+0000 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker

我的配置文件如下所示:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bind

Ip: 127.0.0.1


#processManagement:

#security:

#operationProfiling:

#repli

cation:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

我举例说没试过:

mongoose.connect('mongodb://127.0.0.1:27017/DB');

最大的问题是我应该如何连接到我们可以看到正在运行的mongodb数据库,正如我们在日志中看到的那样。我是否必须配置nginx才能使其正常工作或我的错误网址?

感谢您的帮助!

0 个答案:

没有答案