Bagaimana saya mengatur MongoDB sehingga dapat berjalan sebagai layanan Windows?
Bagaimana saya mengatur MongoDB sehingga dapat berjalan sebagai layanan Windows?
Jawaban:
Saya pikir jika Anda menjalankannya dengan --install
saklar baris perintah, itu menginstalnya sebagai Layanan Windows.
mongod --install
Mungkin ada baiknya membaca utas ini terlebih dahulu. Tampaknya ada beberapa masalah dengan jalur relatif / absolut ketika kunci registri yang relevan ditulis.
net start MongoDB
Setelah mencoba selama beberapa jam, akhirnya saya berhasil.
Pastikan Anda menambahkan <MONGODB_PATH>\bin
direktori ke variabel sistemPATH
Pertama saya menjalankan perintah ini:
D:\mongodb\bin>mongod --remove
Kemudian saya menjalankan perintah ini setelah membuka command prompt sebagai administrator:
D:\mongodb\bin>mongod --dbpath=D:\mongodb --logpath=D:\mongodb\log.txt --install
Setelah itu di sana di command prompt jalankan:
services.msc
Dan cari layanan MongoDB dan klik start.
Jika Anda tidak melakukan ini, file log Anda ( D:\mongodb\log.txt
dalam contoh di atas) akan berisi baris seperti ini:
2016-11-11T15:24:54.618-0800 I CONTROL [main] Trying to install Windows service 'MongoDB'
2016-11-11T15:24:54.618-0800 I CONTROL [main] Error connecting to the Service Control Manager: Access is denied. (5)
dan jika Anda mencoba memulai layanan dari konsol non-admin, (yaitu net start MongoDB
atau Start-Service MongoDB
di PowerShell), Anda akan mendapatkan respons seperti ini:
System error 5 has occurred.
Access is denied.
atau ini:
Start-Service : Service 'MongoDB (MongoDB)' cannot be started due to the following error: Cannot open MongoDB service
on computer '.'.
At line:1 char:1
+ Start-Service MongoDB
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service],
ServiceCommandException
+ FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceComman
net start MongoDB
alih - alih menggunakan services.msc
. ( mongod
merekomendasikan hal itu kepada saya.)
tidak hanya --install
,
juga perlu --dbpath
dan--logpath
dan setelah reboot OS Anda harus menghapus "mongod.lock " secara manual
mongod.lock
bug ini diperbaiki pada sayaWindows 8 x64
Tidak seperti jawaban lain, ini akan ..
MULAI LAYANAN SECARA OTOMATIS PADA SISTEM REBOOT / RESTART
(1) Instal MongoDB
(2) Tambahkan nampan ke jalur
(3) Buat c: \ data \ db
(4) Buat c: \ data \ log
(5) Buat c: \ data \ mongod.cfg dengan konten ..
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
(6) Untuk membuat layanan yang akan mulai secara otomatis di reboot .. LARI SEBAGAI ADMIN ..
sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\data\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
(7) Mulai layanan .. LARI SEBAGAI ADMIN ..
net start MongoDB
PENTING: Sekalipun ini mengatakan 'Layanan MongoDB sudah mulai berhasil' itu bisa gagal
Untuk memeriksa ulang, buka Control Panel> Services, pastikan status layanan MongoDB adalah 'Berjalan'
Jika tidak, periksa file log Anda di C: \ data \ log \ mongod.log untuk alasan kegagalan dan perbaiki
(Jangan mulai MongoDB melalui Control Panel> Layanan, gunakan .. net mulai MongoDB)
(8) Akhirnya, restart mesin Anda dengan MongoDB berjalan dan masih akan berjalan saat restart
Jika Anda pernah ingin membunuhnya ..
net stop MongoDB
sc.exe delete MongoDB
3.4
ke 3.6
versi dalam perintah inisc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\data\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
Langkah-langkah di bawah ini berlaku untuk Windows.
Jalankan di bawah ini secara administratif cmd
mongod --remove
Ini akan menghapus layanan MongoDB yang ada (jika ada).
mongod --dbpath "C:\data\db" --logpath "C:\Program Files\MongoDB\Server\3.4\bin\mongod.log" --install --serviceName "MongoDB"
Pastikan C:\data\db
folder itu ada
Buka layanan dengan:
services.msc
Temukan MongoDB -> Klik kanan -> Mulai
Anda dapat menggunakan perintah di bawah ini untuk menjalankan mongodb sebagai layanan windows
"C:\mongodb\bin\mongod" --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
Jika Anda menggunakan mongodb dengan parameter default, Anda dapat menggunakan nilai-nilai ini:
Ada informasi lebih lanjut tentang perintah ini di sini
Saya mencoba semua jawaban dan kemudian melakukannya dengan cara https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition menjelaskannya .
Gunakan file konfigurasi ...
"C:\mongodb\bin\mongod.exe" --config "C:\mongodb\mongod.cfg" --install
Skrip PowerShell ini Mengunduh dan Menginstal MongoDB sebagai Layanan Windows:
Set-ExecutionPolicy RemoteSigned
$mongoDbPath = "C:\MongoDB"
$mongoDbConfigPath = "$mongoDbPath\mongod.cfg"
$url = "http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.4.9.zip"
$zipFile = "$mongoDbPath\mongo.zip"
$unzippedFolderContent ="$mongoDbPath\mongodb-win32-x86_64-2008plus-2.4.9"
if ((Test-Path -path $mongoDbPath) -eq $True)
{
write-host "Seems you already installed MongoDB"
exit
}
md $mongoDbPath
md "$mongoDbPath\log"
md "$mongoDbPath\data"
md "$mongoDbPath\data\db"
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "dbpath=C:\MongoDB\data\db`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "logpath=C:\MongoDB\log\mongo.log`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "smallfiles=true`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "noprealloc=true`r`n")
$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile($url,$zipFile)
$shellApp = New-Object -com shell.application
$destination = $shellApp.namespace($mongoDbPath)
$destination.Copyhere($shellApp.namespace($zipFile).items())
Copy-Item "$unzippedFolderContent\*" $mongoDbPath -recurse
Remove-Item $unzippedFolderContent -recurse -force
Remove-Item $zipFile -recurse -force
& $mongoDBPath\bin\mongod.exe --config $mongoDbConfigPath --install
& net start mongodb
Ini adalah satu-satunya hal yang berhasil untuk saya. Karena semuanya harus menjadi jalur absolut:
C:\Program Files\MongoDB\Server\3.2\bin>mongod --install --dbpath=c:/data/db --logpath=c:/data/logs/log.txt
Saya juga harus menjalankannya admin cmd
Cara yang disarankan mongod --install
menghasilkan kesalahan:
2015-12-03T18:18:28.896+0100 I CONTROL --install has to be used with a log file for server output
Setelah menginstal mongodb, C:\mongodb
Anda perlu menambahkan logpath:
mongod --install --logpath C:\mongodb\logs\mongo.log
Path ke logfile harus ada dan harus path Windows absolut. Kemudian Anda memulai layanan MongoDB dengan mengetik:
net start MongoDB
Pertimbangkan untuk menggunakan
mongod --install --rest --master
Bekerja pada Mongo DB: 3.6
(1) Instal MongoDB
(2) Tambahkan bin ke variabel jalur lingkungan
(3) Buat c:\data\db
(4) Buat c:\data\mongod.log
(5) Jalankan di bawah Perintah pada bin
folder
. \ mongod.exe - instal --logpath c: \ data \ mongod.log --logappend --bind_ip 12 7.0.0.1 --dbpath c: \ data \ db
(6) Untuk memulai mongo db sebagai layanan
mulai bersih MongoDB
(7) Akhirnya jalankan mongo
di baris perintah untuk memeriksa shell mongo terbuka atau tidak.
1) echo logpath=F:\mongodb\log\mongo.log > F:\mongodb\mongod.cfg
2) dbpath=F:\mongodb\data\db [add this to the next line in mongod.cfg]
C:\>F:\mongodb\bin\mongod.exe –config F:\mongodb\mongod.cfg –install
Inilah yang bekerja untuk saya:
sc.exe create MongoDB binPath= "d:\MongoDB\bin\mongod.exe --service --config=d:\MongoDB\bin\mongod.config" displayname= "MongoDB 2.6 Standard" start= "auto"
lolos dari binPath gagal bagi saya seperti yang dijelaskan dalam dokumentasi Mongo
Gagal:
sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB 2.6 Standard\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB 2.6 Standard\mongod.cfg\"" DisplayName= "MongoDB 2.6 Standard" start= "auto"
Cara paling sederhana adalah,
C:\data\db
C:\data\db\log.txt
Buka command prompt sebagai "Run as Administrator" dan pastikan path direktori mogodb sudah benar dan tulis
C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt"
Mulai layanan mongodb:
net run MongoDB
Bekerja pada MongoDB 3.4 [Windows]
Buat file di C: /mongodb/mongodb.config menggunakan konfigurasi ini:
storage:
engine: wiredTiger
dbPath: "C:/mongodb/data"
directoryPerDB: true
journal:
enabled: true
systemLog:
destination: file
path: "C:/mongodb/data/mongod.log"
logAppend: true
timeStampFormat: iso8601-utc
net:
bindIp: 127.0.0.1
port: 27017
wireObjectCheck : false
Untuk menginstal MongoDb sebagai layanan, jalankan perintah ini di PowerShell dengan kekuatan admin
mongod --config = "C: \ mongodb \ mongodb.config" --install --service
Buka Services.msc dan cari MongoDb, lalu mulai
Saya di versi 2.4.9 dan menggunakan file konfigurasi. Layanan tidak akan mulai sampai saya mengepung tanda sama dengan file konfigurasi dengan spasi:
dbpath = D:\Mongo data
logpath = C:\mongodb\logs\mongo.log
logappend = true
Awalnya saya punya:
logpath=C:\mongodb\logs\mongo.log
Saya juga menemukan bahwa ketika menginstal layanan Anda harus menggunakan jalur absolut untuk file konfigurasi mis:
c:\mongodb\bin\>mongodb.exe C:\mongodb\bin\mongod.conf --install
Jangan tergoda untuk menempatkan koma terbalik di sekitar dbpath dengan spasi. Layanan akan muncul untuk memulai ketika Anda menjalankan net mulai MongoDB tetapi akan berakhir. Periksa file log untuk konfirmasi bahwa layanan telah benar-benar dimulai.
Saya menemukan bahwa Anda harus meneruskan: dbpath, config dan logfile ke mongod dengan flag install
contoh:
mongod --dbpath=c:\data\db --config=c:\data\db\config.cfg --logpath=c:\data\db\log.txt --install
Catatan: Saya memiliki path mongod dalam variabel path saya.
Anda dapat mengontrol layanan dengan:
net start mongodb
net stop mongodb
Ini adalah langkah-langkah untuk menginstal MongoDB sebagai Layanan Windows:
Buat direktori log, mis C:\MongoDB\log
Buat direktori db, mis C:\MongoDB\db
Siapkan file konfigurasi dengan baris berikut
dbpath=C:\MongoDB\db
logpath=C:\MongoDB\log
Tempatkan file konfigurasi dengan nama mongod.cfg di folder "C: \ MongoDB \"
Perintah berikut akan menginstal Layanan Windows di Windows 7
sc.exe create MongoDB binPath= "\"C:\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\MongoDB\mongod.cfg\" DisplayName= "MongoDB 3.4" start= "auto"
Setelah Anda menjalankan perintah ini, Anda akan mendapatkan [SC] CreateService SUCCESS
Jalankan perintah berikut pada Command Prompt
net start MongoDB
Jika Anda menginstal MongoDB 2.6.1 atau yang lebih baru menggunakan unduhan MSI dari Administrator Command Prompt , definisi layanan akan secara otomatis dibuat untuk Anda.
Dokumentasi MongoDB juga memiliki tutorial untuk membantu Anda secara manual membuat definisi Layanan Windows jika diperlukan.
Jawaban ini adalah untuk mereka yang sudah menginstal mongo DB menggunakan installer MSI.
Katakanlah lokasi default yang Anda instal adalah "C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin"
Langkah-langkah untuk menjalankan mongo sebagai layanan jendela
cd C:\Program Files\MongoDB\Server\3.2\bin
(periksa jalur dengan benar, karena Anda mungkin menginstal versi yang berbeda, dan bukan 3.2).net start MongoDB
services.msc
dan periksa apakah Mongo berjalan sebagai layanan.System error 2 has occurred. The system cannot find the file specified.
mencoba mongod, mongodb juga.
mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary"
periksa layanan windows
jika Anda memiliki layanan untuk mongo hapus dengan menjalankan perintah di bawah
mongod --remove
buat file mongo.cfg dengan konten di bawah ini
systemLog:
tujuan:
jalur file : c: \ data \ log \ mongod.log
penyimpanan:
dbPath: c: \ data \ db
path: tempat Anda ingin menyimpan data log
dbPath: direktori database Anda
kemudian jalankan perintah di bawah
sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB\Server\3.2\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
binPath: direktori instalasi mongodb
config: .cfg alamat file
DisplayName: Nama Layanan Anda
memulai layanan
net start MongoDB
sekarang semuanya sudah selesai. nikmati itu
Dalam kasus saya, saya membuat mongod.cfg di sebelah mongd.exe dengan konten berikut.
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: D:\apps\MongoDB\Server\4.0\data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: D:\apps\MongoDB\Server\4.0\log\mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
Kemudian saya menjalankan kedua perintah untuk membuat layanan.
D:\apps\MongoDB\Server\4.0\bin>mongod --config D:\apps\MongoDB\Server\4.0\bin\mongod.cfg --install
D:\apps\MongoDB\Server\4.0\bin>net stop mongodb
The MongoDB service is stopping.
The MongoDB service was stopped successfully.
D:\apps\MongoDB\Server\4.0\bin>mongod --remove
2019-04-10T09:39:29.305+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-04-10T09:39:29.309+0800 I CONTROL [main] Trying to remove Windows service 'MongoDB'
2019-04-10T09:39:29.310+0800 I CONTROL [main] Service 'MongoDB' removed
D:\apps\MongoDB\Server\4.0\bin>
D:\apps\MongoDB\Server\4.0\bin>sc.exe create MongoDB binPath= "\"D:\apps\MongoDB\Server\4.0\bin\mongod.exe\" --service --config=\"D:\apps\MongoDB\Server\4.0\bin\mongod.cfg\""
[SC] CreateService SUCCESS
D:\apps\MongoDB\Server\4.0\bin>net start mongodb
The MongoDB service is starting..
The MongoDB service was started successfully.
D:\apps\MongoDB\Server\4.0\bin>
Berikut ini tidak benar, perhatikan kutipan yang lolos diperlukan.
D:\apps\MongoDB\Server\4.0\bin>sc.exe create MongoDB binPath= "D:\apps\MongoDB\Server\4.0\bin\mongod --config D:\apps\MongoDB\Server\4.0\bin\mongod.cfg"
[SC] CreateService SUCCESS
D:\apps\MongoDB\Server\4.0\bin>net start mongodb
The service is not responding to the control function.
More help is available by typing NET HELPMSG 2186.
D:\apps\MongoDB\Server\4.0\bin>
Tolong coba langkah-langkah dalam Mongo DB: 3.6 & Windows 10
mongod --remove
mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --service
mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --install
net start MongoDB