互联网营销
致力于提高推广效率

CentOS7详细部署meanTorrent

简介:
meanTorrent是一个基于Node.js的PT站程序,由国人开发者耗时2年多开发完成,现阶段还在不断的完善更新中,可以说是目前最有潜力的一款PT站程序了。
Github地址:https://github.com/taobataoma/meanTorrent
安装环境:

  • 一个Gmail/QQ邮箱,这将用于后续程序的邮件部署。
  • 一台VPS,你的商家没有封锁25端口(centos x64)。

安装:

  • 使用Xshell登录到机器内,更新系统/安装依赖/安装开发工具包:

yum -y update
yum -y install wget git screen libicu-devel
yum groupinstall ‘Development Tools’

  • 关闭防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

  • 关闭SELinux:

vi /etc/selinux/config
SELINUX=disabled
setenforce 0

  • 安装nvm,安装完成后关闭你的Xshell重新登录才能正常使用:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

  • 接着使用nvm安装Node.js:

nvm install v8.12.0

  • 然后安装bower:

npm install -g bower

  • 现在来安装Mongodb数据库,新建一个源:

vi /etc/yum.repos.d/mongodb-org-3.6.repo

写入:

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

然后yum安装:

yum -y install mongodb-org

完成之后,启动mongodb以及设置开机启动:

systemctl enable mongod.service
systemctl start mongod.service
  • 现在就就可以拉取meanTorrent项目文件了:

git clone https://github.com/taobataoma/meanTorrent.git
cd meanTorrent

  • 安装依赖包:

npm install

安装完成之后会提示我们有很多漏洞需要进行修补,我们执行:

npm audit fix

然后安装bootstrap的一些组件:

bower install –allow-root

现在你就可以尝试用开发模式运行meanTorrent了:

npm start
捕获.JPG

如果一切正常,那么会回显给你类似如下图的信息:

我们先键盘组合键Ctrl+C退出来,接着部署meanTorrent生产环境所需的东西。

首先我建议安装一个adminMongo,这是一个可视化的Mongodb数据库管理工具,就类似于phpMyAdmin,我想大家都知道phpMyAdmin是有多么的方便,由于meanTorrent是使用的Mongodb,我们并不熟悉这个数据库类型,所以这里我们可以借助adminMongo来轻松的维护meanTorrent后期在生产过程中所遇到的数据库相关问题。

  • 安装adminMongo非常简单,几条命令就可以解决,首先我们使用screen创建一个新的会话:

screen -S db
cd
git clone https://github.com/mrvautin/adminMongo.git && cd adminMongo
npm install
npm start

adminMongo应该就运行成功了,但是这个工具它默认是监听的本地1234端口,我们想要访问的话,有两个方法:
(1)建立一个SSH隧道
(2)反向代理
这里我选择使用反向代理,反正待会meanTorrent也需要反向代理,所以现在我们使用键盘组合键Ctrl+A+D切出来。

  • 现在安装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

启动Nginx以及设置开机启动:

systemctl start nginx
systemctl enable nginx
  • 新建一个Nginx站点配置文件:

vi /etc/nginx/conf.d/db.conf

写入:

server {
    listen       12345;
    server_name  你的服务器公网IP;
    
location / {
    proxy_pass       http://0.0.0.0:1234;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Upgrade   $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version         1.1;
    proxy_redirect             off;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

重启Nginx:

systemctl restart nginx

1.JPG

现在访问你的服务器公网IP+端口12345应该可以访问到这个adminMongo的界面了:

要使用adminMongo连接我们的数据库也很简单,Connection name随便定义一个名字,然后Connection string填写如下内容:

mongodb://127.0.0.1:27017

4.JPG

连接成功后,你就可以管理Mongodb内的数据了:

我们需要注意的是这个可视化工具没有账号/密码验证设置,各位在使用完毕之后务必停止adminMongo的运行。或者在Nginx配置文件内加上访问密码的设置,这里就不做说明了,我这边反正是使用完就停止运行。要停止adminMongo的运行,你应该先Ctrl+C退出运行,然后Ctrl+A+D切回我们当前的shell。

  • 接着我们再新建一个站点配置文件,这个用于meanTorrent的反向代理:

vi /etc/nginx/conf.d/pt.conf

写入(如果测试可以直接用公网ip+自定义端口):

server {
    listen       80;
    server_name  你的站点域名;
    
location / {
    proxy_pass       http://127.0.0.1:3000;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Upgrade   $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version         1.1;
    proxy_redirect             off;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

如果要配置ssl的话,如下:(抄的别人的)

server {
    listen       80;
    listen       443;
    server_name  域名;

    ssl                  on;
    ssl_certificate      证书文件路径;
    ssl_certificate_key  key文件路径;

    ssl_session_timeout  5m;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    server_name  域名;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
        proxy_pass  http://0.0.0.0:3000;
        proxy_set_header Host      $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_redirect http:// $scheme://; #做https跳转
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }

}

然后重启Nginx:systemctl restart nginx
现在你应该编辑生产环境所需的配置文件:

cd /root/meanTorrent
vi config/env/production.js

3.JPG

在这个配置文件,你必须要修改发信设置,因为meanTorrent强制用户注册必须要验证邮件,之前要你们准备的Gmail邮箱在这里就体现出作用了:
注:搭建的时候试了gmail发现邮件被拦截,后来就用QQ邮箱配置,配置如下:

接着你应该编辑这个配置文件,在这个配置文件内几乎包含了meanTorrent的所有可选设置:

vi config/env/torrents.js

    app: {
      name: '站点名字',
      domain: 'http://你的站点域名',
      admin: '管理员邮箱',
      showDemoWarningPopup: false,
      cronTimeZone: 'Asia/Shanghai',
      dbTimeZone: 480,
      showClientDebugLog: true,
      writeServerDebugLog: true
    },

  announce: {
      url: 'http://你的站点域名/announce',

  showDemoSignMessage: false,
  • 现在使用screen新建一个会话:

screen -S pt

  • 在新会话内执行如下命令,启动meanTorrent的生产模式:

npm run start:prod

  • 然后你应该Ctrl+A+D退出当前会话,这样meanTorrent就在后台运行了。(第一个注册账号默认管理员,当然也可以自己修改数据库)
5.JPG
6.JPG
7.JPG


登录进去的样子:

发种测试:

赞(0)
未经允许不得转载:发卡兔子 » CentOS7详细部署meanTorrent
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

发卡兔子 更专业 更方便

微信公众号QQ群