在Ubuntu 20.04上安装RavendB NoSQL数据库
NoSQL数据库与关系数据库管理系统非常不同。
NoSQL是非表格的,并将数据存储不同于关系表。
基于其数据模型,NoSQL数据库有各种类型。
主要包括文档,键值,宽列和图形。
关于它们的一个美丽特色是它们提供灵活的模式和尺度容易具有大量数据和高用户负载。
世界类Ravendb文档数据库是这些数据库之一,这些数据库是寻找更好的方法来处理信息,以便为强大的21世纪应用程序提供电力。
在我们开始安装Ravendb之前,让我们看看EntShell中的功能:群集酸易交易户证复制:拉复制使得甚至更新遥控器甚至更新.Graph API:查看未来并成为未来使用Data.distributed计数器预测
系统要求
Ravendb是用.NET核心写的,所以它需要与.NET核心相同的准备工作。
更新的服务器
现在是时候开始安装RavendB。
第1步:更新服务器并安装.NET核心运行时
我们将通过获取符合要求的所有需求来开始安装RavendB。
由于它需要.NET核心,让我们继续前进并在我们的Ubuntu 20.04 Real Quick.add将Microsoft包签名到可信键列表中并添加包存储库。
打开终端并运行以下命令:
sudo apt update && sudo apt upgrade wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb
安装运行时
.NET核心运行时允许我们运行使用.NET核心所做的应用程序,并且不包含运行时。
下面的命令安装ASP.NET核心运行时。
sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y aspnetcore-runtime-3.1
第2步:在Ubuntu 20.04上下载并安装RavendB
下载RavendB的最新稳定使用WGET或者我们可以将Ravendb下载页面从平台列表中获取Linux版本。
我们将在本教程中使用WGET,如下所示
cd ~ wget -O ravendb.tar.bz2 https://hibernatingrhinos.com/downloads/RavenDB%20for%20Linux%20x64/latest
提取存档
在下面运行tar命令以提取压缩文件
tar xvjf ravendb.tar.bz2
提取上面的文件创建包含设置文件的文件夹(RavendB)。
此时,我们可以通过运行run.ps1(或者运行)脚本来启动安装向导
$cd ~/RavenDB $./run.sh Use Ctrl + c to Exit it
第3步:在Ubuntu 20.04上配置RavendB
让我们编辑Settings.json文件,以便我们可以使用浏览器远程执行设置。
请注意,当我们第一次运行服务器时,Settings.json是从settings.default.json创建的。
因此,如果Settings.json不存在,请编辑Settings.default.json。
设置ServerURL,包括Port我们将捕获RavendB以及Security.UnseCuredAccessAllowed以PrivateNetwork,PublicNetwork或者LocalNetwork,以允许无需SSL的无担保访问。
sudo vim ~/RavenDB/Server/settings.json { "ServerUrl": "http://172.21.83.113:8080", "Setup.Mode": "Initial", "DataDir": "RavenData", "Security.UnsecuredAccessAllowed": "PrivateNetwork" }
如果服务器在公共云上,例如AWS,GCP或者Azure等,请为配置添加更多行,以便我们可以从浏览器远程访问RavendB。
一个例子如下所示:
{ "ServerUrl": "http://172.21.83.113:443", "Setup.Mode": "Initial", "DataDir": "RavenData", "PublicServerUrl": "<Enter Public DNS URL for your cloud>", "Security.UnsecuredAccessAllowed": "PrivateNetwork" }
我们将Security.UnsecuredAccessAllowed字段设置为Publicnetwork,允许我们远程连接。
要在端口443上使用RavendB,请运行以下命令以允许RavendB使用端口443(非根过程):
sudo setcap CAP_NET_BIND_SERVICE=+eip ./RavenDB/Server/Raven.Server
设置目录权限
RavendB需要将权限写入以下位置:RavendB服务器正在运行数据文件夹的文件夹日志文件夹
修改防火墙以允许新的Ravendb端口
如果我们有防火墙运行,请考虑添加要从中侦听RavendB的端口。
sudo ufw allow 8080
第4步:将RavendB配置为Ubuntu 20.04上的服务
现在我们将设置并启动Ravendb service.open终端并创建文件/etc/systemd/sysery/ravendb.service,使用super用户权限,其中包含以下内容:
sudo vim /etc/systemd/system/ravendb.service [Unit] Description=RavenDB v4.0 After=network.target [Service] LimitCORE=infinity LimitNOFILE=65536 LimitRSS=infinity LimitAS=infinity User=root ##<==Add the user you would wish to run the service Restart=on-failure Type=simple ExecStart=/path/to/RavenDB/run.sh ##<==Enter the path where your run.sh is found here [Install] WantedBy=multi-user.target
添加新文件后,重新加载守护程序,启动并启用RavendB服务,如下所示:
sudo systemctl daemon-reload sudo systemctl enable ravendb.service sudo systemctl start ravendb.service
检查其状态:
$systemctl status ravendb.service ● ravendb.service - RavenDB v4.0 Loaded: loaded (/etc/systemd/system/ravendb.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2017-07-19 20:31:36 EAT; 5min ago Main PID: 43408 (run.sh) Tasks: 23 (limit: 1035) Memory: 39.7M CGroup: /system.slice/ravendb.service ├─43408 /bin/bash /home/tech/RavenDB/run.sh └─43435 ./Raven.Server --browser
运行RavendB设置向导
到目前为止,一切都应该正常工作,我们已准备好运行RavendB设置向导。
将浏览器指向我们在步骤3中配置的URL。
在本教程中,我们将使用http://172.21.83.113:8080。
遵循截留的屏幕截图以获得Ravendb
RavendB最终用户许可协议
滚动许可协议到最后,然后单击"接受"
Ravendb设置提示
其中我们有3个选项,具体取决于我们所需的安全级别。
第一个是使用Letsencrypt证书设置,第二个是通过提供自己的证书,第三个是没有任何证书。
由于目前我没有证书,我们将继续进行无担保方案。
请注意,如果我们希望添加新节点以创建群集,则也有一个"群集设置"选项。
选择最佳地址我们在此处的安全选项。
无担保模式设置
输入我们希望从IP地址访问Studio的端口。
接受风险,然后单击"下一步"
重新启动服务器
配置应立即完成。
单击"Restart Server"
访问工作室
如果一切顺利,你应该被重定向到工作室。
如果我们使用自己的证书,浏览器会要求我们进行身份验证。
第5步:创建数据库
一旦我们进入RAVSNDB,我们就可以轻松创建示例数据库。
单击"数据库"
然后是"新数据库"