慎入:Nyaa BT种子站搭建

本帖最后由 tipistop 于 2018118 13:02 编辑
上一个教程有吧友表示不太懂

慎入:Nyaa BT种子站搭建

本帖最后由 tipistop 于 2018118 13:02 编辑

上一个教程有吧友表示不太懂,教程开始前我先发一下需要用到的环境和工具CentOS7 服务器:阿里云在搞活动可以看我签名 FlashFXP:ftp上传工具Xshell:ssh工具,链接你的linux服务器Nyaa这么出名的东西就不用多介绍了,出名到被欧盟一锅端,当时是因为什么被端了我也记的不是很清楚了。就简要说下被端了之后没多久的一些事情吧。。。Nyaa本是一个国外著名的BT种子站,它与现在的那些磁力站不同的地方就在于Nyaa所有的种子都是由用户自己上传分享的,而磁力站多数都是爬虫自动爬。Nyaa分为表站和里站,表站就是用户上传一些正常向的资源,而里站你们懂的,各种R18应有尽有,所以Nyaa有一大群肥宅/痴汉/二次元用户。就是这样一个站被端了后,大概才不到半个月的时间网上就展示了这个站点的部分数据库,然后又没过多久就莫名其妙的出现了几个自称Nyaa的站点,但是应该都是假站,或者说是想借Nyaa的热度来蹭一波人气,但是不管初衷如何,能够继承Nyaa继续给广大宅男提供一个分享资源的平台,那么就是受欢迎的。所以就目前而言,我个人觉得做的比较好的站点就是:nyaa.si。并且这个站点的维护者把源码在Github上面开源了。话不多说,教程开始更新系统安装开发工具包:

yum y update

yum y install epelrelease

yum y groupinstall “Development Tools”复制代码关闭系统防火墙:

systemctl stop firewalld.service复制代码关闭SELinux:

vi /etc/selinux/config

SELINUX=disabled

setenforce 0复制代码然后我们先安装一个LNMP环境,其实不需要用到PHP,但是这个程序对数据库的给作比较多,我们可以借助有PHP的支持来安装一个phpMyAdmin方便管理数据库。先装Nginx:

vi /etc/yum.repos.d/nginx.repo复制代码写入:

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1复制代码然后yum安装:

yum y install nginx复制代码安装MySQL5.7:

vi /etc/yum.repos.d/mysqlcommunity.repo复制代码写入:

[mysql57community]

name=MySQL 5.7 Community Server

baseurl=http://repo.mysql.com/yum/mysql5.7community/el/7/$basearch/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYmysql复制代码然后yum安装:

yum y install mysqlcommunityserver复制代码安装PHP7.2:

rpm Uvh https://mirror.webtatic.com/yum/el7/webtaticrelease.rpm复制代码然后yum安装:

yum y install php72wfpm php72wcli php72wcommon php72wgd php72wmysqlnd php72wodbc php72wpdo php72wpgsql php72wxmlrpc php72wxml php72wmbstring php72wopcache复制代码启动Nginx/MySQL/PHP:

systemctl start nginx

systemctl start mysqld

systemctl start phpfpm复制代码创建Nginx/MySQL/PHP开机启动:

systemctl enable nginx

systemctl enable mysqld

systemctl enable phpfpm复制代码获取默认的MySQLROOT密码:

grep ‘temporary password’ /var/log/mysqld.log复制代码修改ROOT密码:

mysqladmin u root p password复制代码重启MySQL:

systemctl restart mysqld复制代码然后通过FlashFXP把如下路径的php.ini文件下载到本地

/etc/php.ini复制代码762行去掉注释:

cgi.fix_pathinfo=1复制代码1264行去掉注释:

session.se_path = “/tmp”复制代码将修改好的文件上传替换。回到终端创建session目录并给777权限:

mkdir /var/lib/php/session

cd /var/lib/php

chmod R 777 session复制代码重启PHP:

systemctl restart phpfpm复制代码现在我们来下载/解压/重命名phpMyAdmin:

cd /usr/share/nginx/

yum y install wget unzip

wget https://files.phpmyadmin.net/phpMyAdmin/4.8.3/phpMyAdmin4.8.3alllanguages.zip

unzip phpMyAdmin4.8.3alllanguages.zip

mv phpMyAdmin4.8.3alllanguages phpmyadmin

chown R apache:apache phpmyadmin复制代码新建一个Nginx站点配置文件:

vi /etc/nginx/conf.d/phpmyadmin.conf复制代码写入:

server {

listen 2333;

server_name 你的站点域名;

#charset koi8r;

#access_log /var/log/nginx/host.access.log main;

location / {

root /usr/share/nginx/phpmyadmin;

index index.html index.htm index.php;

}

location ~ \.php$ {

root /usr/share/nginx/phpmyadmin;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/phpmyadmin$fastcgi_script_name;

include fastcgi_params;

}

}复制代码重启Nginx:

systemctl restart nginx复制代码至此LNMP+phpMyAdmin就安装好了,phpMyAdmin的访问地址是:你的站点域名+端口2333登录到phpMyadmin内,首先我们创建一个数据库,命名为:nyaa,数据库编码选择如下图所示的:接下来开始部署Nyaa,先安装一些Python所需的依赖:

yum y install git gcc make zlib zlibdevel readline readlinedevel readlinestatic openssl openssldevel opensslstatic sqlitedevel bzip2devel bzip2libs libffidevel复制代码然后安装Pyenv:

curl L https://github.com/pyenv/pyenvinstaller/raw/master/bin/pyenvinstaller | bash复制代码这条命令执行完成后可能会有回显内容:

export PATH=”/root/.pyenv/bin:$PATH”

eval “$(pyenv init )”

eval “$(pyenv virtualenvinit )”复制代码把你的这些内容加到:

vi ~/.bash_profile复制代码然后另其生效:

source ~/.bash_profile复制代码然后我们使用Pyenv安装Python3.6.1:

pyenv install 3.6.1复制代码这个安装过程可能比较慢,等待安装完成后,创建虚拟环境:

pyenv virtualenv 3.6.1 nyaa复制代码

然后我们进入Nginx的站点目录

复制代码

cd /usr/share/nginx复制代码拉取项目文件:

git clone https://github.com/nyaadevs/nyaa.git复制代码进入到项目目录:

cd nyaa复制代码将项目目录的Python设置成我们之前创建的环境:

pyenv local nyaa复制代码接着安装mysqldevel:

yum y install mysqldevel复制代码然后安装Nyaa所需依赖:

pip install r requirements.txt复制代码现在复制一份配置文件并编辑:

cp config.example.py config.py

vi config.py复制代码在这个配置文件内,我们主要改动的内容如下:

DEBUG = True复制代码

DEBUG = False复制代码2.站点的运行模式,默认有nyaa和sukebei(sukebei就是R18),如图所示:

3.MySQL数据库连接信息,

格式如下:

mysql://数据库账号:数据库密码@localhost/数据库名?charset=utf8mb4

4.

USE_ELASTIC_SEARCH = False复制代码

改为

USE_ELASTIC_SEARCH = True复制代码

这个修改是让Nyaa支持Elasticsearch全文搜索,待会我们再来配置Elasticsearch。

5.其他配置信息,比如邮箱SMTP/验证码等等都可以在这个配置文件里面设置,这里就不多说了,根据自己的需求来更改。

现在我们导入数据:

python db_create.py复制代码

接着运行:

./db_migrate.py stamp head复制代码

现在我们来安装Elasticsearch,Elasticsearch需要J作品A8的支持,所以我们先安装J作品A:

yum y install ja1.8.0openjdk*复制代码

然后就可以安装Elasticsearch了,先导入密匙:

rpm import https://artifacts.elastic.co/GPGKEYelasticsearch复制代码

新建一个源:

vi /etc/yum.repos.d/elasticsearch.repo复制代码

写入:

[elasticsearch6.x]

name=Elasticsearch repository for 6.x packages

baseurl=https://artifacts.elastic.co/packages/6.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPGKEYelasticsearch

enabled=1

autorefresh=1

type=rpmmd

复制代码

然后通过yum安装:

yum y install elasticsearch复制代码

最后运行Elasticsearch并设置开机启动:

systemctl start elasticsearch.service

systemctl enable elasticsearch.service

复制代码

现在我们来配置Nyaa的Elasticsearch搜索,首先复制一份配置文件:

cp es_sync_config.example.json es_sync_config.json复制代码

编辑这个配置文件:

vi es_sync_config.json复制代码

在这个配置文件内正确填写你的nyaa数据库信息:

{

“se_loc”: “/tmp/pos.json”,

“mysql_host”: “127.0.0.1”,

“mysql_port”: 3306,

“mysql_user”: “root”,

“mysql_password”: “你的数据库密码”,

“database”: “nyaa”,

“internal_queue_depth”: 10000,

“es_chunk_size”: 10000,

“flush_interval”: 5

}

然后我们编辑MySQL的my.cnf:

vi /etc/my.cnf

在[mysqld]的下方加入:

logbin

server_id=1

binlogformat=row

接着再重启一次MySQL:

systemctl restart mysqld

然后创建索引:

./create_es.sh

如果正常会回显两次如下图的内容:

然后运行如下命令导入种子数据:

python import_to_es.py复制代码

crontab e复制代码然后写入:

0 0 * * * /root/.pyenv/versions/3.6.1/envs/nyaa/bin/python /usr/share/nginx/nyaa/import_to_es.py复制代码现在我们就可以运行Nyaa了,先安装一个screen:yumy install screen然后创建一个新的会话:screenS nyaa在新会话内运行Nyaa:python run.py键盘组合键Ctrl+A+D切换回来,现在我们配置Nginx的反向daili。新建一个Nginx站点配置文件:vi/etc/nginx/conf.d/nyaaproxy.conf写入:server{ listen 80; server_name 你的站点域名; location/{ proxy_pass http://0.0.0.0:5500; proxy_set_headerHost $host; proxy_set_header XRealIP $remote_addr; proxy_set_headerUpgrade $http_upgrade; proxy_set_headerConnection”upgrade”; proxy_http_version 1.1; proxy_redirect off; }}最后重启Nginx:systemctl restart nginx现在不出意外打开你的浏览器,可以看到Nyaa的WEB界面了:

END

2楼:这么长的教程居然木有人捧场,伤心

3楼:大哥,太高深了,而且都习惯于下载

4楼:小白看看,这个种子文件是存在自己的服务器吗?

5楼:这么好的文章竟然这么少的人

6楼:打赏了 事实上没有搭建的需求 只有下载的需求。。

7楼:怎么增加种子或者磁力链接呢

8楼:有些看不懂,但是感觉很叼

9楼:谢谢分享,写的很深入,唯一的问题是我们看不懂。。。

10楼:教程很详细,但没有打中大部分福娃的痛点

11楼:可以,记号.哪天有服务器玩下.

12楼:我也想看懂可是我是小白

13楼:不是没人捧场,内容确实有些专业啊

14楼:眼晕怎么办?

15楼:我们这样的小白 这样的帖子确实是需要慎入的

16楼:太厉害吧 这么详细的教程

17楼:这是技术大牛的成果展示啊

18楼:这是辛苦楼主了

19楼:好复杂得技术……

20楼:

好复杂得技术…… 果然是慎入。。。

21楼:

好复杂得技术……不愧是慎入····

22楼:厉害我的大腿子,想要拜师学艺啊

23楼:tipistop 发表于 2018118 20:18

这么长的教程居然木有人捧场,伤心

还收徒弟不?

24楼:种子文件是存在自己的服务器吗?

(0)

相关推荐