Vultr 安装配置btlike BT搜索引擎 图文教程


前面我们写了手撕包菜SSBC(DHT磁力链源码) 2016.8月版 安装图文教程。但是SSBC非常占用资源,容易跑死。有位网友过来找我们希望写一个btlike的安装教程。

btlike官网:http://btlike.com/

特性

  • 高性能单核,768MB的VPS上,每秒处理UDP请求超过12K,内存占用不超过100MB
  • 大容量采用Mysql分表存储,设计容量6千万~8千万数据
  • 全文搜索采用Elasticsearch现全文索引和热度排序

环境:

Vultr 充5美元可以用5个月VPS 充值最高送100美元

Vultr 15 GB SSD$5/mo$0.007/h1 CPU768MB Memory1000GB Bandwidth

系统:Centos6 X64

btlike目录结构:

详细步骤:

更新系统到最新,关闭iptables防火墙,安装go等组件

本人对Java没有研究,所以这里不管,全部包安装好

Centos6.x yum 安装 golang 语言环境

切换到screen:

安装mariadb

运行请添加MariaDB官方源:CentOS 5, CentOS 6, CentOS 7, RHEL 5, RHEL 6, RHEL 7, and Fedora 21 yum 安装 MariaDB 图文教程,否则会出现如下错误:

[root@vultr ~]# yum search
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.supremebytes.com
* epel: mirrors.kernel.org
* extras: mirrors.kernel.org
* updates: mirror.supremebytes.com
Warning: No matches found for: mariadb
No Matches found

初始化MariaDB的root密码:

创建切换文件夹:

初始化Go:

#go get -v (-v 参数显示状态进度)

直接运行可能会找不到路径:

[root@vultr ~]# go get github.com/btlike/repository
package github.com/btlike/repository: cannot download, $GOPATH not set. For more details see: go help gopath

导入sql文件到数据库中:

安装Elasticsearch:

ES的官方网站上有说明:
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html

首先下载并安装公钥

配置一下yum源

elasticsearch.repo内容:

然后更新一下缓存

安装elasticsearch

安装elasticsearch完毕。

添加elasticsearch服务:

之后我们需要将ElasticSearch作为一个服务来运行,具体参考这里
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-service.html

至此为止,elasticsearch服务就启动了,访问一下9200端口

[root@vultr www.jiloc.com]# curl -X GET localhost:9200
{
“name” : “Lady Killer”,
“cluster_name” : “elasticsearch”,
“version” : {
“number” : “2.3.5”,
“build_hash” : “90f439ff60a3c0f497f91663701e64ccd01edbb4”,
“build_timestamp” : “2016-07-27T10:36:52Z”,
“build_snapshot” : false,
“lucene_version” : “5.5.0”
},
“tagline” : “You Know, for Search”
}

20160818084412

如果能看到这个内容说明elasticsearch服务已经成功安装。

下载btlike主程序:

编辑配置文件,修改一下数据库的密码,红色部分:

同样需要配置的还有,同样是修改数据库密码

可以使用批量替换方法,linux shell 命令行 批量替换 一键命令

运行脚本,下面的脚本是在后台运行,大家也可使用screen等方式放入后台

  • nohup 模式

crawl

api

storage

  • screen 模式

crawl :

其他的同理

nohup、screen模式二选一即可。

安装配置nginx

保存文件。

作者已将前端 site 文件夹删除,可以使用我们的PHP前端。

下面我们要继续安装PHP环境:

下面我们访问一下http://域名/Info.php
也可以看到phpinfo信息:
20160822191431

下载PHP前端代码:

Initialized empty Git repository in /wwwroot/www.jiloc.com/btlike-php-front/.git/
remote: Counting objects: 65, done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 65 (delta 23), reused 39 (delta 11), pack-reused 0
Unpacking objects: 100% (65/65), done.

修改nginx的文件夹位置:

将上面粉色标注的文件夹位置

修改为:

保存。

继续完成PHP文件配置,请移步:BTLIKE PHP前端页 下载 安装图文教程

 

常见问题合集:

  • 爬虫出现 go/golang  too many open files error 怎么办?

  • spider.go:54: elastic: Error 429 (Too Many Requests): rejected execution of org.elasticsearch.transport.TransportService$4@3c121245 on EsThreadPoolExecutor[index, queue capacity = 200, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@1dbf9568[Running, pool size = 4, active threads = 4, queued tasks = 200, completed tasks = 30940]] [type=es_rejected_execution_exception]

* soft nofile 1024000
* hard nofile 1024000
hive   – nofile 1024000
hive   – nproc  1024000

 

  • MariaDB出现Too Many Connections 怎么办?

[mysqld]
max_connections=4086

 

以下部分已不失效不用修改!!!

修改API地址:

把:

function getApiAddress(){
return “http://api.btlike.com”
}

修改成:

20160819114346

教程完毕!! 下面即可通过绑定的域名使用浏览器访问啦!

点赞
  1. denys说道:

    http://btlike.com/ 已经打不开啦

    1. 嗯,此项目已经从github上撤下来了。

  2. 老季博客说道:

    演示站:http://btlet.com

  3. Desire说道:

    博主你好,请教个问题,为什么按照你的步骤在vultr安装 运行craw的时候 报这个错误?

    2016/08/30 03:28:16 monitor.go:56: [Resolve DNS error, %s
    lookup dht.transmissionbt.com on 108.61.10.10:53: no such host]

    在搬瓦工上运行可以正常爬取数据,但是内存会爆掉,搬瓦工直接给停机处理。在vultr上又没法爬取数据。虚心求教,望回复。

    已经通过博主的链接购买vultr

    1. 老季博客说道:

      你是不是用了国内的机器所以没法解析这个地址。这个要用国外的机器才行。
      感谢您使用我们的链接购买!
      也可以加我们的QQ群提问讨论。

  4. JPJPP_Anime说道:

    ./crawl[root@Kvmla-201608161183 ~]# ./crawl
    bash: ./crawl: No such file or directory
    vi /wwwroot/www.jiloc.com/site/assets/js/core.js 没有这个文件!!!!!!!!!

    1. 老季博客说道:

      作者更新了源码了,所以没有site文件夹了

    2. 老季博客说道:

      用PHP的前端吧 http://www.jiloc.com/42558.html
      用btlike的爬虫即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll Up