Huginn为何物
Huginn 是一个创建代理的系统,它为你在线执行自动化的任务。它主要的用途就是发送HTTP请求获得相关数据,然后你可以选择进行如下处理:
- 将获得的数据进行相应的格式处理输出,例如RSS;
- 将获得的数据通过第三方接口(huginn官方支持不少)进行发出,例如发邮件;
- 将获得的数据作为相关参数用作另一事件event的参数,例如将获得的天气信息作为Email Agent的内容。
不难发现,通过以上三方面的组合操作,Huginn可玩性颇高,它不仅仅可以用来制作RSS源,是一款自动化的效率利器,你可以把它看作是自己服务器上的 IFTTT 或 Zapier (注:两款皆是自动化工具)的破解版本。解锁更多姿势,请参阅官方文档 。
Huginn的安装
官方提供了很多种安装方式,我采用了Docker的安装方式,Docker是一个轻量的实现虚拟化的利器,不用一个一个安装需要的应用,个人用足以,使用方法不详述了,贴一个学习地址Docker教程,本文也用不上太多,会用就好。下面开始安装,说明一下我的云服务器为腾讯云Centos 7.5,以下操作均基于此系统。
使用连接客户端连接腾讯云,并输入如下命令回车
yum install docker -y
不一会儿,若看到Complete!
就安装完成啦,接着启动docker服务,输入如下命令并回车
systemctl start docker
安装容器前先替换成阿里云镜像,官方源太慢了!
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://iikujkej.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
安装运行测试容器,输入如下命令并回车,如果80端口已占请改用其他端口
docker run -d -p 80:80 httpd
安装成功后在浏览器输入http://你的服务器IP,如果页面显示It Works
,说明docker运行起来了,可以继续下一步
虽然安装Huginn时附带有一个轻量的数据库,但Huginn一删里面的数据就没了,所以接下来安装通过docker安装MySQL,直接连接外部的MySQL也可以,不过麻烦些
docker pull mysql:5.6
我这里指定了MySQL版本为5.6,未指定的话,默认是最新的,但是最新版容易出问题,so.
完成后创建并启动一个MySQL容器,MYSQL_ROOT_PASSWORD就是密码,可以自行设置
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.6
接着进入MySQL容器修改权限,完成后最好重启MySQL容器
docker exec -it mysql bash
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
终于要安装Huginn了!输入如下命令,HUGINN_DATABASE_PASSWORD就是上面设置的密码,MYSQL_PORT_3306_TCP_ADDR对应docker的本地IP,你可以使用ifconfig
命令查看
docker pull huginn/huginn
docker run --name huginn -p 3000:3000 -e MYSQL_PORT_3306_TCP_ADDR=172.18.0.1 -e HUGINN_DATABASE_NAME=huginn -e HUGINN_DATABASE_USERNAME=root -e HUGINN_DATABASE_PASSWORD=123456 huginn/huginn
最后在浏览器中输入http://你的服务器IP:3000并访问,出现如下页面即安装成功!