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

4 comments

  1. 豫山

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

    1. 呵呵哒萌萌哒
      @豫山

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

      1. 豫山
        @呵呵哒萌萌哒

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

        1. 呵呵哒萌萌哒
          @豫山

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

Leave a Comment