Чтобы запустить 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.