Способы запуска MongoDB при запуске в Ubuntu с примерами кода

Чтобы запустить MongoDB при запуске Ubuntu, вы можете использовать различные методы. Вот несколько подходов с примерами кода:

Метод 1: использование systemd

Шаг 1. Создайте файл службы MongoDB.
Создайте файл с именем mongodb.serviceв папке /etc/systemd/system/

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --config /etc/mongodb.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=mongodb
[Install]
WantedBy=multi-user.target

Шаг 2. Включите и запустите службу MongoDB.
Выполните следующие команды, чтобы включить и запустить службу MongoDB:

sudo systemctl enable mongodb
sudo systemctl start mongodb

Метод 2: использование init.d

Шаг 1. Создайте сценарий инициализации MongoDB.
Создайте файл с именем mongodbв /etc/init.d/

#!/bin/sh
### BEGIN INIT INFO
# Provides:          mongodb
# Required-Start:    $local_fs $network $remote_fs
# Required-Stop:     $local_fs $network $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: MongoDB init script
# Description:       MongoDB is a high-performance, schema-free document-oriented database.
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/mongod
CONFIGFILE=/etc/mongodb.conf
LOGFILE=/var/log/mongodb.log
PIDFILE=/var/run/mongodb/mongodb.pid
. /lib/lsb/init-functions
do_start() {
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
        --config $CONFIGFILE \
        --fork \
        --logpath $LOGFILE
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo "MongoDB started."
    else
        echo "Failed to start MongoDB."
    fi
}
do_stop() {
    start-stop-daemon --stop --quiet --pidfile $PIDFILE
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo "MongoDB stopped."
    else
        echo "Failed to stop MongoDB."
    fi
}
case "$1" in
    start)
        do_start
        ;;
    stop)
        do_stop
        ;;
    restart|force-reload)
        do_stop
        sleep 2
        do_start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
exit 0

Шаг 2. Установите разрешения и включите сценарий инициализации.
Выполните следующие команды, чтобы установить правильные разрешения и включить сценарий инициализации MongoDB:

sudo chmod +x /etc/init.d/mongodb
sudo update-rc.d mongodb defaults

Шаг 3. Запустите MongoDB.
Выполните следующую команду, чтобы запустить MongoDB:

sudo service mongodb start

Метод 3. Использование cron (менее рекомендуется)

Шаг 1. Отредактируйте файл crontab.
Чтобы отредактировать файл crontab, выполните следующую команду:

crontab -e

Шаг 2. Добавьте команду запуска MongoDB.
Добавьте следующую строку в файл crontab:

@reboot /usr/bin/mongod --config /etc/mongodb.conf > /dev/null 2>&1

Шаг 3. Сохраните и закройте файл crontab.

Обратите внимание, что рекомендуемыми методами являются метод 1 (с использованием systemd) или метод 2 (с использованием init.d), поскольку они являются более стандартными и надежными способами запуска MongoDB при запуске Ubuntu.