Поиск по сайту:

Как установить базу данных RavenDB NoSQL на Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Установите необходимые зависимости
  3. Установите RavenDB
  4. Настройка RavenDB
  5. Создание служебного файла Systemd для RavenDB
  6. Доступ к веб-интерфейсу RavenDB
  7. Заключение

RavenDB — это бесплатная документно-ориентированная база данных NoSQL с открытым исходным кодом, разработанная для платформы .NET/Windows. RavenDB поддерживает несколько баз данных, сегментирование или разбиение данных на несколько серверов. Он может обрабатывать сотни или тысячи баз данных на одном экземпляре. RavenDB использует JSON для хранения документов, не требует объявления схемы и позволяет разработчикам более естественно работать с данными.

В этом руководстве мы узнаем, как установить RavenDB на сервер Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • Пароль root настраивается на сервере.

Установите необходимые зависимости

Перед запуском вам необходимо установить среду выполнения NET Core в вашей системе. Сначала загрузите и установите репозиторий пакетов с помощью следующей команды:

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb

Вы должны получить следующий результат:

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) ...

Затем обновите репозиторий с помощью следующей команды:

apt-get install apt-transport-https -y
apt-get update -y

После обновления репозитория установите среду выполнения .Net Core с помощью следующей команды:

apt-get install aspnetcore-runtime-3.1 -y

После завершения установки можно переходить к следующему шагу.

Установить RavenDB

Сначала загрузите последнюю версию RavenDB, выполнив следующую команду:

wget -O ravendb.tar.bz2 https://hibernatingrhinos.com/downloads/RavenDB%20for%20Linux%20x64/latest

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

tar xvjf ravendb.tar.bz2

Затем правильное разрешение на RavenDB с помощью следующей команды:

chmod -R 755 ~/RavenDB

Затем измените каталог на RavenDB и запустите скрипт установки, как показано ниже:

cd ~/RavenDB
./run.sh

Вы должны увидеть следующий вывод:

./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.

На данный момент RavenDB запущен и прослушивает порт 43241. Теперь нажмите CTRL + C, чтобы выйти.

Настроить RavenDB

По умолчанию RavenDB доступна только с локального хоста. Поэтому вам нужно будет настроить его для доступа с удаленного хоста.

Вы можете настроить его, отредактировав файл settings.json:

nano ~/RavenDB/Server/settings.json

Добавьте/измените следующие строки:

{
    "ServerUrl": "http://your-server-ip:8080",
    "Setup.Mode": "Initial",
    "DataDir": "RavenData",
    "Security.UnsecuredAccessAllowed": "PrivateNetwork"

}

Сохраните и закройте файл, когда закончите.

Создайте служебный файл Systemd для RavenDB

Далее вам нужно будет создать служебный файл systemd для управления RavenDB. Вы можете создать его с помощью следующей команды:

nano /etc/systemd/system/ravendb.service

Добавьте следующие строки:

[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

Сохраните и закройте файл. Затем перезагрузите демон systemd с помощью следующей команды:

systemctl daemon-reload

Затем запустите RavenDB и включите его запуск при перезагрузке системы с помощью следующей команды:

systemctl start ravendb
systemctl enable ravendb

Теперь вы можете проверить статус RavenDB с помощью следующей команды:

systemctl status ravendb

Вы должны получить следующий результат:

? 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 ubunt4 run.sh[30871]: Starting shut down...
Aug 01 11:30:21 ubunt4 run.sh[30871]: Shutdown completed
Aug 01 11:30:21 ubunt4 run.sh[30871]: Restarting Server...
Aug 01 11:30:21 ubunt4 run.sh[30871]: Using GC in server concurrent mode retaining memory from the OS.
Aug 01 11:30:21 ubunt4 run.sh[30871]: Server available on: http://69.87.218.19:8080
Aug 01 11:30:21 ubunt4 run.sh[30871]: Tcp listening on 69.87.218.19:38888
Aug 01 11:30:21 ubunt4 run.sh[30871]: Server started, listening to requests...
Aug 01 11:30:21 ubunt4 run.sh[30871]: TIP: type 'help' to list the available commands.
Aug 01 11:30:21 ubunt4 run.sh[30871]: ravendb> End of standard input detected, switching to server mode...
Aug 01 11:30:21 ubunt4 run.sh[30871]: Running non-interactive.

На данный момент RavenDB запущен и прослушивает порт 8080.

Доступ к веб-интерфейсу RavenDB

Теперь откройте веб-браузер и введите URL-адрес http://your-server-ip:8080. Вы должны увидеть следующий экран:

Нажмите кнопку «Принять», чтобы принять лицензионное соглашение. Вы должны увидеть следующий экран:

Здесь есть три варианта настройки RavenDB. Выберите вариант «Незащищенный». Вы должны увидеть следующий экран:

Укажите HTTP-порт, IP-адрес и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Нажмите «Перезагрузить сервер», чтобы перезагрузить систему. После успешного перезапуска вы будете перенаправлены на панель инструментов RavenDB, как показано ниже:

Нажмите на кнопку СОЗДАТЬ БАЗУ ДАННЫХ. Вы должны увидеть следующий экран:

Укажите имя вашей базы данных и нажмите кнопку «Создать». Вы должны увидеть только что созданную базу данных на следующем экране:

Заключение

Поздравляем! вы успешно установили RavenDB на Ubuntu 20.04. Теперь вы можете приступить к изучению RavenDB, чтобы познакомиться с ним. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.