搭建AlphaReign私有DHT磁力种子搜索引擎 – 幽游地
余十一 •
今天搭建了一个DHT 磁力搜索引擎,用到两个开源项目:
前端(WEB服务):https://github.com/AlphaReign/www-php
爬虫(后端):https://github.com/AlphaReign/scraper
需要的服务器配置要求比较高,之前试过用 oneprovider 的 4C4G 的独服搭建后跑不起来,今天用了台 4C8G 的VPS才成功了,对 CPU 的要求也很高
搭建后,感觉爬虫效率的确是很高,搜索响应也很快,不过目前爬取到的都是国外的种子,全是英文的……
想要搜索中文资源好像不是很方便
当然,也因为是刚搭建不久,入库的种子还不多的原因
下面记录一下搭建过程。
服务器推荐
搭建这个程序,需要服务器的配置比较高才行,如果只是想搭建来完下,推荐以下的服务商家,注册即免费送余额,适合折腾:
新手免费玩VPS 注册即送免费余额的VPS商家介绍
本文介绍几个比较有名的国外 VPS 服务商,基本都是注册就送钱的商家。同时,也会介绍部分比较便宜、不跑路的商家。只...
安装组件
yum -y groupinstall 'Development Tools' yum -y install curl git unzip
安装PHP7.0
使用宝塔面板极速安装
安装完成后,到设置里的禁用函数,把 putenv 删除
安装composer
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/bin/composer
安装nodejs/pm2/yarn
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash - yum -y install nodejs npm i -g pm2 npm i -g yarn
安装 Elasticsearch
在CentOS 7上安装 Elasticsearch, 推荐从官方 Elasticsearch 存储库安装 rpm 软件包
下载导入存储库的公共密钥:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
创建文件 /etc/yum.repos.d/elasticsearch.repo :
vi /etc/yum.repos.d/elasticsearch.repo
写入如下内容:
[elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md
保存退出然后安装:
yum install --enablerepo=elasticsearch elasticsearch
安装完成后,设置开机启动
systemctl daemon-reload systemctl enable elasticsearch.service
启动、停止、查看状态:
systemctl start elasticsearch.service systemctl restart elasticsearch.service systemctl stop elasticsearch.service systemctl status elasticsearch.service
启动后,查看状态,确保 elasticsearch 正常启动
安装MySQL
使用宝塔安装即可,安装后创建数据库,我安装的是5.6

安装前端
拉取前端的源码、安装依赖、修改数据库配置:
cd /opt git clone https://github.com/AlphaReign/www-php.git cd www-php composer install vi index.php
找到如下位置修改数据库连接配置:
define('DBNAME', 'databasename');
define('DBUSER', 'databaseuser');
define('DBPASS', 'databasepass');
修改:
define('DBNAME', 'dht');
define('DBUSER', 'dht');
define('DBPASS', '你的数据库用户密码');
安装后端
拉取后端的源码、修改数据库配置:
cd /opt git clone https://github.com/AlphaReign/scraper.git cd scraper vi config/index.js
找到如下位置修改数据库连接配置:
client: 'mysql',
connection: {
database: 'alphareign',
host: '127.0.0.1',
password: 'alphareign',
user: 'root',
修改:
client: 'mysql',
connection: {
database: 'dht',
host: '127.0.0.1',
password: '你的数据库用户密码',
user: 'dht',
修改之后:
yarn yarn migrate
成功:

启动后端服务:
pm2 start ecosystem.config.js
至此所有准备已完成,还差 Nginx 反代
安装 Nginx 反代
宝塔面板安装 nginx
Nginx 的配置:
server {
listen 80;
server_name dht.233.fi; # 换成你的域名
index index.html index.htm index.php;
root /opt/www-php;
client_max_body_size 128g;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
如果是使用宝塔安装,添加站点后,修改站点配置文件:
server
{
listen 80;
server_name pt.uud.me;
index index.html index.htm index.php;
root /opt/www-php;
client_max_body_size 128g;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-cgi-70.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log off;
access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log off;
access_log /dev/null;
}
access_log /www/wwwlogs/pt.uud.me.log;
error_log /www/wwwlogs/pt.uud.me.error.log;
}
注意:如果是宝塔安装的PHP,以上配置文件中,注意将unix:/run/php/php7.0-fpm.sock;改为 /tmp/php-cgi-70.sock
修改完成之后,打开你绑定的域名,可能会看到一条这样的信息:Doing some maintenance
稍等一下,刷新就能看到登录页面:

注册一个账号,登录后,就可以看到主界面:

左上角数字是当前爬虫到的种子数
这套爬虫效率挺高的,搜索响应也很快,但是对服务器的配置要求比较高
我用的服务器是 4C8G 的,低于4C4G的应该都不需要尝试了……
演示站就不放出来了,加密自用
版权属于:余十一
本文链接:https://www.uud.me/site-notes/alphareign-dht.html
转载时须注明出处及本声明
