sword

NexusPHP搭建PT种子资源分享服务站点教程
前言什么是PT?PT是Private Tracker的简称,其实也属于BT的一种,有关BT的内容,我们在此不详述,...
扫描右侧二维码阅读全文
12
2018/08

NexusPHP搭建PT种子资源分享服务站点教程

前言

什么是PT?PT是Private Tracker的简称,其实也属于BT的一种,有关BT的内容,我们在此不详述,请自行谷歌。PT往往是优质资源的集合处,特别是影视资源,而且群体范围特别小,资源免费,进入PT站点需要邀请码,但是邀请码不能购买,只能看缘分遇到有缘人。有关PT的更多内容请看本博客的另一篇文章:PT知识科普

本文以宝塔面板搭建PT站为例,环境为nginx+php+mysql+memcache

搭建

1、添加网站
宝塔面板上添加网站,输入域名,这里为pt.rose.moe,设置好以后提交
请输入图片描述

2、ipv6访问支持设置
PT站当然要支持ipv6了,但是首先需要vps有ipv6地址。如下图,点击设置,添加如下内容到nginx配置文件里

listen [::]:80;
listen [::]:443 ssl;

请输入图片描述
添加配置
请输入图片描述

3、安装memcache插件
NexusPHP需要memcache缓存插件的支持才能使用,如下所示,安装memcache缓存插件(当然也可以不用,见下文详解)
请输入图片描述

请输入图片描述

4、下载源码程序上传到服务器
好了,环境搭建完毕,下载源码,并上传至网站跟目录,并解压

请输入图片描述

5、导入数据库文件
导入根目录_db下的dbstructure.sql文件

请输入图片描述

请输入图片描述

6、修改配置文件
导入完毕后修改配置文件,在config文件夹下面有一个allconfig.php 的文件,修改下面的内容:

‘SITENAME’ => ‘站点名称’
‘baseURL’ => ‘网站URL’
‘announce_url’ => ‘localhost/announce.php’(announce的url地址)
‘mysql_host’ => ‘MySQL主机’
‘mysql_user’ => ‘数据库用户名’
‘mysql_pass’ => ‘数据库密码’
‘mysql_db’ => ‘数据库名’

请输入图片描述

以上无误的话在浏览器输入站点地址pt.rose.moe应该就可以打开NexusPHP的界面了
请输入图片描述

7、设置管理员账号
在页面注册账号,注册好用户名后,接着进入数据库管理(phpMyAdmin),在users表里面找到你注册的用户,编辑它的class属性为16,便是主管权限了
请输入图片描述

请输入图片描述

还可以通过下面的方法设置:
1.使用正常方式在网站注册一个新用户,假设用户名为admin。
2.输入以下命令进入MySQL命令行管理工具: mysql -u root -p nexusrocks -h localhost 注意:将’root’,’nexusrocks’,’localhost’分别替换成你的MySQL用户名、密码、主机地址。
2.在MySQL命令行管理工具输入以下命令: USE nexus; UPDATE users SET class=’16′ WHERE username=’admin’; 注意:将以上命令中的’nexus’替换成你的数据库名,将’admin’替换成你注册的用户名。

到这里PT基本上就架设完毕了,现在只需要利用主管帐号对站点进行设置和调整就可以了

使用文件缓存代替memcache

如果不想用memcache缓存插件可以设置文件缓存,当然memcache缓存更简单,推荐使用

编辑classes/class_cache.php 在其第2行插入

class Memcache{   
    private $lifetime = 3600;
    private $path = 'cache';
        
    function set($name,$value,$time=0){
            if($time) $this->lifetime = $time;
        $filename = $this->path.'/'.md5($name).'.php';
        @unlink($filename);
        $valuecache['cache'] = $value;
                $valuecache['cachetimeuntil']=time()+$this->lifetime;
        $array = "<?php\n\$filecache['".$name."']=".var_export($valuecache, true).";\n?>";
        $strlen = file_put_contents($filename, $array);
        @chmod($filename, 0777);
        return $strlen;
    } 

    function get($name){
                        $filename = $this->path.'/'.md5($name).'.php';
            include_once $filename;
                        if($filecache[$name]['cachetimeuntil']>time())
            return $filecache[$name]['cache'];
                        else
                        return false;
   } 
        
    function delete($name){
        $filename = $this->path.'/'.md5($name).'.php';
        @unlink($filename);
        } 
        
    function connect(){
        return true;
    }
}

然后在网站根目录创建一个文件夹,名为“cache”用于保存缓存文件
编辑include/cleanup.php 搜索//5.delete old login attempts,在其前插入

//4.delete cache files
$dp = @opendir('cache');

                while (($file = readdir($dp)) !== false) {
if(time() - filemtime('cache/'.$file) > 24*3600)@unlink('cache/'.$file);
                }
                closedir($dp);
if ($printProgress) {
                printProgress("delete cache file");

这样每24小时就会自动清空一次缓存

其他补充

1、memcached中清除页面缓存的方法

地址栏输入
域名/index.php?clearcache=1
index.php替换成你要清除的PHP文件

2、NexusPHP设置站点不在线后管理员无法登录的问题

在PT站后台设置里面设置“站点是否在线”为“否”,然后我说退出帐号看看效果,访问PT站点发现提示:
站点关闭维护中,请稍后再访问...谢谢
悲剧的是我管理员帐号都退出了我现在怎么登录呢?任何php页面都是这个显示,囧了!
搜索配置文件找到解决方法
在allconfig.php文件里面,找到
' site_online' => 'no' 修改为 'yes'
保存即可。

3、修改、汉化用户组名字

中文面板修改/lang/chs目录下的lang_functions.php文件,英文、繁体对应在/lang目录下修改

Last modification:August 19th, 2018 at 04:23 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

11 comments

  1. 至彦   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 84.0.4147.125 Google Chrome 84.0.4147.125 )

    按照教程都配置好了,结果访问域名之后自动跳转到/login.php ,但是这个页面报错ERR_NAME_NOT_RESOLVED无法访问。。。这是怎么回事,尝试了两台服务器,本来我以为第一台配置不合格的原因。。。如果数据库设置有问题倒是可以显示一个数据库错误的页面

    1. sword   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 84.0.4147.135 Google Chrome 84.0.4147.135 )
      @至彦

      域名解析问题吧

      1. 至彦   ( iOS 12.4 iOS 12.4 / Mozilla Compatible Mozilla Compatible )
        @sword

        不是……有一台服务器就没有绑域名,并且绑域名的服务器如果不放源码或者配置文件的数据库故意输错都是有返回的页面的。我就纳闷了……

  2. C.   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 79.0.3945.94 Google Chrome 79.0.3945.94 )

    为什么弄完了以后出现500错误代码

    1. sword   ( Windows 7 x64 Edition Windows 7 x64 Edition / Google Chrome 79.0.3945.88 Google Chrome 79.0.3945.88 )
      @C.

      说明没搭建好,仔细看教程

  3. 也下雨   ( Windows 7 x64 Edition Windows 7 x64 Edition / UC 浏览器 6.2.4094.1 UC 浏览器 6.2.4094.1 )

    楼主问下这个建站需要多大空间,种子占用空间大吗,可以站和数据分离吗?

    1. sword   ( Windows 7 x64 Edition Windows 7 x64 Edition / Google Chrome 79.0.3945.88 Google Chrome 79.0.3945.88 )
      @也下雨

      单独建站空间不需要多大,种子也是几kb一个,可以搞站库分离

  4. 豫山   ( Android 8.0.0 Android 8.0.0 / QQ 浏览器 8.8 QQ 浏览器 8.8 )

    cmct也开源了吗,github有吗,哪里可以下载到?可以私传我一份吗?

    1. 呵呵哒萌萌哒   ( Android 8.0 Android 8.0 / Opera 4.0 Opera 4.0 )
      @豫山

      文章里面不是有链接?仔细看看

      1. 豫山   ( Windows 7 x64 Edition Windows 7 x64 Edition / Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132 )
        @呵呵哒萌萌哒

        搭建是成功了,就是不支持新版的uTorrent/354(44520),试了好多办法 从数据库都无法添加新客户端,弱弱的问,博主可以提供一些帮忙吗,我可以以身相许。

        1. 呵呵哒萌萌哒   ( Windows 7 x64 Edition Windows 7 x64 Edition / Google Chrome 68.0.3440.106 Google Chrome 68.0.3440.106 )
          @豫山

          不好意思,不能。因为我也不知道具体怎么搞