Siapa pun yang meningkatkan atau menginstal Ubuntu 16.04 (juga dikenal sebagai Ubuntu Xenial xerus) memperhatikan bahwa beberapa layanan lama berhenti berjalan. Masalah ini diketahui dari versi 15.04 tetapi saya akan fokus pada versi di atas.
Begitulah kasus saya dengan MongoDB. Untuk membuat cerita panjang, pendek, Ubuntu bergeser dari pemula ke systemd. Salah satu solusi umum, untuk masalah ini, adalah beralih kembali ke pemula. Saya tidak menganggap opsi itu sebagai solusi nyata, tentu saja tidak untuk jangka panjang.
Solusi nyata ( IMHO ) untuk masalah ini adalah menulis skrip systemd yang akan memulai MongodDB. Sayangnya teman-teman MongoDB belum menyediakannya.
Jadi saya harus menulis satu dari awal. Untuk membuatnya sendiri, ikuti langkah-langkah berikut:
- beralih ke root menggunakan
sudo su
atau gunakan sudo untuk semua langkah berikut.
-
buat skrip layanan (dalam contoh ini nama layanannya adalah Mongodb)
nano /lib/systemd/system/mongodb.service
-
Konten file harus
[Unit] Description=MongoDB Database Service Wants=network.target After=network.target [Service] ExecStart=/usr/bin/mongod --config /etc/mongod.conf ExecReload=/bin/kill -HUP $MAINPID Restart=always User=mongodb Group=mongodb StandardOutput=syslog StandardError=syslog [Install] WantedBy=multi-user.target
Anda juga dapat mengunduh file dari sini:mongodb.service
Berikut adalah deskripsi singkat dari bidang penting:
ExecStart - Apakah perintah untuk menjalankan. Mongo menginstal sendiri di bawah /usr/bin dan file konfigurasi ditulis di /etc
User - Uid dari proses mongod.
Grup - Inti dari proses mongod. Perhatikan bahwa pengguna dan grup dibuat oleh penginstalan.
Sekarang untuk memulai mongodb:
sudo systemctl start mongodb
Untuk menghentikan penggunaan layanan mongodb:
sudo systemctl stop mongodb
Untuk mengaktifkan mongodb saat startup
sudo systemctl enable mongodb.service
Jika Anda perlu menyegarkan layanan, gunakan:
sudo systemctl daemon-reload