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.