介绍
DigitalOcean的Horizon One-Click应用程序提供了一种方便的方式来开始使用Horizon并让您的RethinkDB-powered项目启动并运行。 随着Horizon , RethinkDB和Node.js的所有预安装,一键是构建应用程序的理想基地。 本教程将给你所有的细节,让你的项目离开地面。
Horizon是用于构建实时应用程序的开源开发人员平台。 它包括一个中间件服务器,它连接到RethinkDB并公开一个API以及一个JavaScript客户端库,允许前端开发人员存储文档和订阅流数据。 使用RethinkDB和websockets,Horizon旨在使开发人员能够轻松地使用现代的实时应用程序,而无需编写后端代码。 对于一个完整的破败,看到他们在horizon.io文档 。
除了标准的Ubuntu 14.04 Droplet,Horizon一键式应用程序还包括以下组件:
- Horizon
- RethinkDB
- Node.js
- Nginx
为方便起见, git
软件包安装在图像上。
创建Horizon Droplet
您可以通过飞沫创建过程中, 应用程序菜单14.04与RethinkDB选择Horizon推出一个新的Horizon的实例:
一旦创建了Droplet,通过DigitalOcean控制面板或SSH中的基于Web的控制台连接到Droplet:
ssh root@your.ip.address
访问RethinkDB
Horizon一键式应用程序预配置了RethinkDB。 它是基于Web的管理面板位于Nginx逆向代理后面。 这允许它受密码保护。 密码是在首次启动时随机生成的,并且可以在每天通过SSH登录服务器时显示的消息(MOTD)中找到。 MOTD应该看起来像这样:
----------------------------------------------------------------------
Thank you for using DigitalOcean's Horizon/RethinkDB Application.
Your RethinkDB dashboard can be accessed at http://111.111.11.111:8080/
Your RethinkDB login credentials are:
Username: admin
Password: 51PwBG3saQ
----------------------------------------------------------------------
要从MOTD中删除此信息,请运行:
sudo rm -f /etc/motd.tail
您可以更改密码admin
运行用户:
sudo htpasswd -cb /etc/rethinkdb/.htpasswd admin my-new-password
Horizon入门
Horizon目前包括三个主要组件:
- 连接到RethinkDB并提供客户端API和WebSocket端点的中间件服务器
- 用于应用程序的客户端库
- 一个命令行工具,
hz
创建项目
在hz
可以用来生成一个项目模板,并为你的Horizon应用程序。 要为您的第一个应用程序生成脚手架,请运行:
hz init myapp
这就产生了一个示例配置文件和项目结构myapp
目录。 仔细看看,你会发现:
cd myapp
tree -aF
.
├── dist/
│ └── index.html
├── .hz/
│ └── config.toml
└── src/
3 directories, 2 files
该.hz/config.toml
是项目的配置文件。 有关它的内容的更多详细信息,请参阅Horizon的文档 。
dist/index.html
包含了简单的连接到Horizon服务器,以验证它正在一个示例应用程序。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<script src="/horizon/horizon.js"></script>
<script>
var horizon = Horizon();
horizon.onReady(function() {
document.querySelector('h1').innerHTML = 'myapp works!'
});
horizon.connect();
</script>
</head>
<body>
<marquee><h1></h1></marquee>
</body>
</html>
为您的项目服务
以满足您的Horizon项目的最快方法是使用命令hz serve --dev --bind all
。 现在,当您浏览到http:// droplet.ip.add :8181
应该会看到一个消息,表明应用程序成功连接到服务器的Horizon:
为了更好地理解这个命令的作用,让我们分解一下。 默认情况下, hz serve
只会在本地主机上应用。 为了予以公布,我们使用--bind all
标志。 该--dev
标志结合了一些单独的设置为一个标志,以提供一个便捷的方式,以满足您的应用程序,同时发展。 这相当于使用以下标志:
旗 | 目的 |
---|---|
- 安全号 | 不提供加密,无需提供SSL证书 |
--start-rethinkdb是 | 启动一个独立的RethinkDB实例与数据存储中的rethinkdb_data/ |
--auto-create-tables yes | 在RethinkDB中自动创建表 |
--auto-create-indexes yes | 在RethinkDB中自动创建索引 |
--serve-static ./dist | 从提供静态内容dist/ |
这些默认值让您快速启动和运行,但不应在生产环境中使用。
要连接到已经运行的RethinkDB实例而不是开发实例,可以使用:
hz serve --dev --bind all --start-rethinkdb no --connect localhost
保持最新
Horizon安装全系统通过节点包管理器, npm
。 为了更新到最新版本,只需运行:
sudo npm update -g horizon
Node.js是使用6.x“Current”系列的NodeSource Apt存储库安装的,而RethinkDB是从项目自己的Apt存储库安装的。 因此,两个组件都将按照通常的方式更新系统的其余部分,从而接收更新:
sudo apt-get update
sudo apt-get upgrade
下一步
了解更多关于Horizon按照其入门指南 GitHub上,加入社区的#horizon通道上RethinkDB的时差 ,或采取讨论的一部分在Horizon讨论论坛 。
按照我们最初的服务器安装指南给
sudo
权限的用户,锁定root登录,并采取其他步骤,让您的服务器准备好进行生产。安全使用Nginx的反向代理与SSL 让我们加密 。
当你准备扩大规模,看看我们的教程建立在Ubuntu 14.04分片RethinkDB集群 。