Пусть мастер обрабатывает ваше сердцебиение (пример ниже) или запускает несколько процессов на разных портах внутри и загружает их с помощью nginx (который поддерживает также веб-узлы с V1.3 вверх).
Кластер с мастером
// on the server
var express = require('express');
var server = express();
var socket = require('socket.io');
var io = socket.listen(server);
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;
// socket.io
io.set('store', new socket.RedisStore);
// set-up connections...
io.sockets.on('connection', function(socket) {
socket.on('join', function(rooms) {
rooms.forEach(function(room) {
socket.join(room);
});
});
socket.on('leave', function(rooms) {
rooms.forEach(function(room) {
socket.leave(room);
});
});
});
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
// Emit a message every second
function send() {
console.log('howdy');
io.sockets.in('room').emit('data', 'howdy');
}
setInterval(send, 1000);
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
}
Это - основная ошибка:
исключение в initAndListen: NonExistentPath: каталог Data,/data/db не найденный., при завершении
у Catalina есть неожиданное изменение: это не позволит изменения в корневом каталоге (это было обсуждено в поток форума также):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
, К сожалению, это не разъяснено явно в информации о версии Catalina Apple кроме краткого упоминания в [1 114] функции Catalina :
выполнения macOS Catalina в специализированном, системном томе
только для чтения Начиная с каталога /data/db
кодируются как значение по умолчанию MongoDB, обходное решение должно указать другое dbpath
, который не расположен на корневом каталоге. Например:
mongod --dbpath ~/data/db
Это поместит данные MongoDB в Ваш корневой каталог. Просто удостоверьтесь, что путь ~/data/db
на самом деле существует.
Альтернативный метод
альтернативный метод должен следовать инструкциям в [1 115] Установка Выпуск Сообщества MongoDB на macOS путем усиления brew
:
brew tap mongodb/brew
brew install mongodb-community
Это создаст некоторые дополнительные файлы по умолчанию:
Для выполнения mongod
Вы можете также:
Выполнение команда вручную из командной строки (это может быть искажено для удобства):
mongod --config /usr/local/etc/mongod.conf
Выполнение MongoDB как услуга с помощью [1 110]. Обратите внимание, что это выполнит MongoDB как автономный узел (не набор копии), так функции, который зависит от oplog, например, changestreams не будет работать, если Вы не измените mongod
конфигурационный файл:
brew services start mongodb-community
После установки Catalina у Вас могла бы быть папка на Вашем Рабочем столе, названном Relocated Items
. Можно найти data/db
папка в Security
папка.
Все, что я должен был сделать, было переместиться эти Security/data/db
, конкретно data/db
и поместить его в моей домашней папке.
можно сделать это с приложением для Средства поиска или с терминалом путем выполнения следующей команды:
sudo mv /Users/Shared/Relocated\ Items/Security/data ~/
После того выполнения: mongod --dbpath ~/data/db
Вам решать для создания псевдонима ранее
, Если Вы получаете ошибку при попытке переместить всю папку данных.!!
Просто перемещают папку дб, которая является важной.
Вот то, что работало на меня:
найденный приемом... удаляют ~/data/db, вся папка из каталога тогда воссоздают новый, но НЕ ИСПОЛЬЗУЮТ mkdir-p/data/db вместо этого, просто используют Вашу сенсорную панель, чтобы сделать это система использования способ создать папку
, это работало на меня
этот сценарий может быть полезен https://¤ gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799
р_ ™рџЏ» ¤ рџ ™рџЏ» ¤ рџ ™рџЏ»