RavenDB je bezplatná a otevřená databáze NoSQL orientovaná na dokumenty určená pro platformu .NET/Windows. RavenDB podporuje více databází, sdílení nebo rozdělení dat na více serverů. Má schopnost zpracovat stovky nebo tisíce databází ve stejné instanci. RavenDB používá JSON k ukládání dokumentů a nevyžaduje deklaraci schématu a umožňuje vývojářům pracovat s daty přirozeněji.
V tomto tutoriálu se naučíme, jak nainstalovat RavenDB na server Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat požadované závislosti
Před spuštěním budete muset do systému nainstalovat runtime NET Core. Nejprve si stáhněte a nainstalujte úložiště balíčků pomocí následujícího příkazu:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
Měli byste získat následující výstup:
Selecting previously unselected package packages-microsoft-prod. (Reading database ... 91134 files and directories currently installed.) Preparing to unpack packages-microsoft-prod.deb ... Unpacking packages-microsoft-prod (1.0-ubuntu20.04.1) ... Setting up packages-microsoft-prod (1.0-ubuntu20.04.1) ...
Dále aktualizujte úložiště pomocí následujícího příkazu:
apt-get install apt-transport-https -y
apt-get update -y
Jakmile je úložiště aktualizováno, nainstalujte runtime .Net Core pomocí následujícího příkazu:
apt-get install aspnetcore-runtime-3.1 -y
Po dokončení instalace můžete přejít k dalšímu kroku.
Instalovat RavenDB
Nejprve si stáhněte nejnovější verzi RavenDB spuštěním následujícího příkazu:
wget -O ravendb.tar.bz2 https://hibernatingrhinos.com/downloads/RavenDB%20for%20Linux%20x64/latest
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar xvjf ravendb.tar.bz2
Dále správné oprávnění k RavenDB pomocí následujícího příkazu:
chmod -R 755 ~/RavenDB
Dále změňte adresář na RavenDB a spusťte instalační skript, jak je ukázáno níže:
cd ~/RavenDB
./run.sh
Měli byste vidět následující výstup:
./run.sh: line 24: xdg-open: command not found
_____ _____ ____
| __ \ | __ \| _ \
| |__) |__ ___ _____ _ __ | | | | |_) |
| _ // _` \ \ / / _ \ '_ \| | | | _ <
| | \ \ (_| |\ V / __/ | | | |__| | |_) |
|_| \_\__,_| \_/ \___|_| |_|_____/|____/
Safe by default, optimized for efficiency
Build 50005, Version 5.0, SemVer 5.0.0, Commit a8d3f94
PID 23883, 64 bits, 2 Cores, Phys Mem 1.941 GBytes, Arch: X64
Source Code (git repo): https://github.com/ravendb/ravendb
Built with love by Hibernating Rhinos and awesome contributors!
+---------------------------------------------------------------+
Using GC in server concurrent mode retaining memory from the OS.
Could not start browser: System.ComponentModel.Win32Exception (2): No such file or directory
at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName, String arguments)
at Raven.Server.Utils.Cli.BrowserHelper.OpenStudioInBrowser(String url, Action`1 onError) in C:\Builds\RavenDB-Stable-5.0\50005\src\Raven.Server\Utils\Cli\BrowserHelper.cs:line 26
Server available on: http://127.0.0.1:43241
Server started, listening to requests...
TIP: type 'help' to list the available commands.
Running non-interactive.
V tomto okamžiku je RavenDB spuštěn a naslouchá na portu 43241. Nyní stiskněte CTRL + C pro ukončení.
Nakonfigurujte RavenDB
Ve výchozím nastavení je RavenDB přístupný pouze z localhost. Budete jej tedy muset nakonfigurovat pro přístup ze vzdáleného hostitele.
Můžete jej nakonfigurovat úpravou souboru settings.json:
nano ~/RavenDB/Server/settings.json
Přidejte/upravte následující řádky:
{
"ServerUrl": "http://your-server-ip:8080",
"Setup.Mode": "Initial",
"DataDir": "RavenData",
"Security.UnsecuredAccessAllowed": "PrivateNetwork"
}
Po dokončení uložte a zavřete soubor.
Vytvoření souboru služby Systemd pro RavenDB
Dále budete muset vytvořit servisní soubor systemd pro správu RavenDB. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/systemd/system/ravendb.service
Přidejte následující řádky:
[Unit] Description=RavenDB v4.0 After=network.target [Service] LimitCORE=infinity LimitNOFILE=65536 LimitRSS=infinity LimitAS=infinity User=root Restart=on-failure Type=simple ExecStart=/root/RavenDB/run.sh [Install] WantedBy=multi-user.target
Uložte a zavřete soubor. Poté znovu načtěte démona systemd pomocí následujícího příkazu:
systemctl daemon-reload
Dále spusťte RavenDB a povolte jeho spuštění při restartu systému pomocí následujícího příkazu:
systemctl start ravendb
systemctl enable ravendb
Nyní můžete zkontrolovat stav RavenDB pomocí následujícího příkazu:
systemctl status ravendb
Měli byste získat následující výstup:
? ravendb.service - RavenDB v4.0
Loaded: loaded (/etc/systemd/system/ravendb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-08-01 11:25:12 UTC; 7min ago
Main PID: 30833 (run.sh)
Tasks: 32 (limit: 2353)
Memory: 157.0M
CGroup: /system.slice/ravendb.service
??30833 /bin/bash /root/RavenDB/run.sh
??30871 ./Raven.Server --browser
Aug 01 11:30:19 ubuntu2004 run.sh[30871]: Starting shut down...
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Shutdown completed
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Restarting Server...
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Using GC in server concurrent mode retaining memory from the OS.
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Server available on: http://69.87.218.19:8080
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Tcp listening on 69.87.218.19:38888
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Server started, listening to requests...
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: TIP: type 'help' to list the available commands.
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: ravendb> End of standard input detected, switching to server mode...
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Running non-interactive.
V tomto okamžiku je RavenDB spuštěn a naslouchá na portu 8080.
Přístup k webovému rozhraní RavenDB
Nyní otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru:8080. Měli byste vidět následující obrazovku:

Klikněte na tlačítko Přijmout tlačítko pro přijetí licenční smlouvy. Měli byste vidět následující obrazovku:

Zde jsou tři možnosti nastavení RavenDB. Vyberte možnost Nezabezpečeno volba. Měli byste vidět následující obrazovku:

Zadejte HTTP port, IP adresu a klikněte na Další knoflík. Měli byste vidět následující obrazovku:

Klikněte na tlačítko Restartovat server pro restartování systému. Po úspěšném restartu budete přesměrováni na řídicí panel RavenDB, jak je znázorněno níže:

Klikněte na VYTVOŘIT DATABÁZI knoflík. Měli byste vidět následující obrazovku:

Zadejte název databáze a klikněte na Vytvořit knoflík. Nově vytvořenou databázi byste měli vidět na následující obrazovce:

Závěr
Gratulujeme! úspěšně jste nainstalovali RavenDB na Ubuntu 20.04. Nyní můžete začít prozkoumávat RavenDB, abyste se s ním seznámili. Pokud máte nějaké dotazy, neváhejte se mě zeptat.