Я не кажу про загострення . У нас був тестовий сервер (linux) і вже є той, mongo
який належить до іншого проекту / підтеми. Чи можна запускати кілька, ізольовані екземпляри з mongodb
однієї машини? Як я можу це зробити?
Я не кажу про загострення . У нас був тестовий сервер (linux) і вже є той, mongo
який належить до іншого проекту / підтеми. Чи можна запускати кілька, ізольовані екземпляри з mongodb
однієї машини? Як я можу це зробити?
Відповіді:
Так, ви можете зробити це, вказавши різні номери портів і каталогі даних для інших примірників mongod
, а потім вказавши новий номер порту в клієнті.
Наприклад:
./mongod --dbpath /foo/bar/otherpath --port some_other_port
Ви також можете змінити сервер обміну та настроїти номери портів сервера, якщо вам потрібно.
Створені мною кроки:
Відредагуйте стартові сценарії init.d і змінивши наступні:
CONFIGFILE = "/ etc / mongod2.conf" (mongod3.conf відповідно)
….
mongod = $ {MONGOD- / usr / bin / mongod2} (mongod3 відповідно)
Замінено / var / lock / subsys / mongod на / var / lock / subsys / mongod2 (mongod3 відповідно), де б я не знайшов його.
Втримайтеся від спокуси замінити mongod.lock на mongod2.lock (або mongod3.lock відповідно). Вони знаходяться в різних папках (папки бази даних різні) і не конфліктують.
Тепер я можу
service mongod start|stop|status
service mongod2 start|stop|status
service mongod3 start|stop|status
а також
mongo --port <port_number>
для кожного екземпляра mongo (пам’ятайте про параметри порту з файлів conf)
Мені невідомо жодного побічного ефекту перейменування бінарного монгоду.
Сподіваюсь, це допомагає.
[Пізніше редагувати] Щоб автоматично запустити екземпляри, просто ln -s /etc/init.d/mongod2 /etc/rc.d/rc3.d/S86mongod та ln -s /etc/init.d/mongod3 / тощо / rc .d / rc3.d / S87mongod :)
Ubuntu 16.01
, не було init.d
. Чи можете ви надати init.d
вміст сценарію?