Rat's

PyOne一键安装脚本 for CentOS 7/Debian 8+/Ubuntu 16+
说明:PyOne最近凭着离线下载(完成并自动上传至Onedrive)和绑定多网盘的功能被越来越多的人使用,如果你还...
扫描右侧二维码阅读全文
30
2018/11

PyOne一键安装脚本 for CentOS 7/Debian 8+/Ubuntu 16+

说明:PyOne最近凭着离线下载(完成并自动上传至Onedrive)和绑定多网盘的功能被越来越多的人使用,如果你还不知道PyOne是何物的可以查看该教程→点击查看。作者更新也勤奋,所以得支持一下,之前博主发过基于宝塔的手动安装教程和Docker安装教程,查看:手动安装Docker安装。不过由于宝塔的Mongodb很容易出错,有些小白也不会解决,而Docker也不支持OpenVZ,所以博主写了个一键脚本,这里分享下。

脚本说明

#脚本会一键安装PyOne所需要的Mongodb、Redis、Aria2等环境,域名使用Caddy反代,自动配置SSL证书。

#本脚本使用的Aria2为某大佬编译的多线程版本,其特点可以将下载速度最大化优化,博主已配置完毕,如服务器性能不足,可将线程自行调整。
方法:修改配置文件/root/.aria2/aria2.conf,线程参数split=64,请自行调整。

#Aria2已添加了BT-Trackers服务器,并定时自动更新服务器地址。

#脚本使用systemctl替换了程序所使用的supervisord进程守护,所以程序的重启等命令会和官方文档上的不一样,详细的使用命令可以看文章后面。

#选择域名访问的,需要提前让解析生效,不然脚本会自动断开,因为后面需要签发SSL证书,ip必须为服务器ip。

更新

【2020.05.21】
修复安装问题,重新支持CentOS 7系统,安装有问题可以留言。
【2020.02.14】
由于程序模块改动,手动改了下,不过只限于Debian 9、10,Ubuntu 18.04、18.10、19.04系统安装使用
【2019.9.28】
新增Debian 10,升级MongoDB版本到4.0,有问题可以留言。
【2019.6.27】
修复部分CentOS 7安装出错的问题,并新增Ubuntu系统,已在Vultr的Ubuntu 16.04、18.04、18.10、19.04上测试通过
【2019.2.23】
鉴于有人需要3.0版本,现已增加安装3.0版本选项,多个选择,并使用的3.0最后一个版本。
【2019.2.16】
修改脚本部分安装步骤,使其支持PyOne4.0
【2019.1.31】
修复部分系统安装启动pyone失败的问题
【2018.11.30】
修复PyOne刷新不出文件夹/文件的问题。

安装

系统要求:CentOS 7Debian 8+Ubuntu 16+,建议Debian 9,且为刚安装好的系统,尽量不要用精简版系统。

使用命令:

wget -N --no-check-certificate https://www.moerats.com/usr/shell/PyOne/PyOne.sh
bash PyOne.sh

根据需求选择是否使用域名访问,然后输入域名和Aria2密匙即可。
请输入图片描述

安装完成后,如果打不开网站的,可以使用命令一起查看下各程序状态。

#使用域名访问的
systemctl status aria2 mongod redis-server pyone caddy
#使用IP访问的
systemctl status aria2 mongod redis-server pyone

如果有显示Active:inactive的,可以留言说下具体程序和系统。反之如果都为running,可以检查下防火墙端口,比如阿里云,谷歌云等,还需要在服务器管理面板上开放34567端口才行。

相关命令

#以下程序均已配置开机自启,所以就不说开机自启命令了。

#Redis使用命令
启动:systemctl start redis-server
重启:systemctl restart redis-server
停止:systemctl stop redis-server
状态:systemctl status redis-server

#Mongodb使用命令
启动:systemctl start mongod
重启:systemctl restart mongod
停止:systemctl stop mongod
状态:systemctl status mongod

#Aria2使用命令
启动:systemctl start aria2
重启:systemctl restart aria2
停止:systemctl stop aria2
状态:systemctl status aria2

#Caddy使用命令(使用域名的才会安装Caddy)
启动:systemctl start caddy
重启:systemctl restart caddy
停止:systemctl stop caddy
状态:systemctl status caddy

#PyOne使用命令
启动:systemctl start pyone
重启:systemctl restart pyone
停止:systemctl stop pyone
状态:systemctl status pyone

相关目录

PyOne程序目录:/root/PyOne
Caddy配置文件目录:/root/.caddy
Aria2配置文件目录:/root/.aria2

相关说明

#关于操作说明
由于更换了原程序进程守护,所以网站右上角的重启网站按钮已失效,请在SSH客户端使用systemctl restart pyone命令重启程序。

#关于离线下载
Aria2配置文件的下载路径为/root/Download,但该程序自带的离线下载不调用配置文件,所以使用本程序离线下载的目录为/root/PyOne/upload。

由于本程序离线下载不调用配置文件,所以Aria2多线程可能会发挥不出来,BT服务器也无效,不过会玩的,可以通过修改根目录的aria2.py文件某些参数达到目的,或者直接研究该教程:https://www.moerats.com/archives/697/,使用Aria2面板来离线下载更好,毕竟后者用的脚本比自带离线下载更稳定。

#刷新缓存问题
如果你在后台执行缓存刷新操作,可能短时间不会生效,建议直接在SSH客户端使用python /root/PyOne/function.py UpdateFile命令刷新

最后更多的使用方法(包括程序更新)可以查看该教程→点击查看,除了PyOne启动命令不一样以外,其它都一样,包括上传等命令。

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2020 年 05 月 21 日 10 : 36 PM

发表评论

416 条评论

  1. Adee

    好像aria2并不带自动上传到网盘的脚本?
    我在aira2目录没看到上传的脚本,配置文件也没有这个选项?

    1. Rat's
      @Adee

      这个没有调用Aria2的上传参数,直接用的PyOne的上传命令。

      1. Adee
        @Rat's

        aria2下载完好像不会自动上传吗?文件好像也没找到

        1. Rat's
          @Adee

          会自动上传,你在/root/PyOne/upload文件夹看看。

  2. chancat

    请问怎样卸载这个一键

    1. Rat's
      @chancat

      如果只是卸载程序的话,直接删除/root/PyOne文件夹,不过其他环境没卸载,有点复杂,重装系统是最好的卸载方法。

  3. ldy

    你好,下载的视频没有自动上传,都保存在服务器上了,是怎么回事啊

    1. Rat's
      @ldy

      不知道具体运行日志,所以该问题暂时不清楚。

      1. ldy
        @Rat's

        麻烦问一下 如何查看运行日志

        1. Rat's
          @ldy

          你先停掉Aria2,systemctl stop aria2,再使用aria2c --conf-path=/root/.aria2/aria2.conf运行aria2,再下载看看。看ssh客户端有不有日志。

  4. phil

    无法修改后台密码 aws debian9

    1. Rat's
      @phil

      修改后,清除缓存或过几分钟看看

  5. 靳旭东

    在后台刷新缓存的时候出现了问题。
    root@vultr:~# python /root/PyOne/function.py UpdateFile
    update A's / file
    update C's / file
    update B's / file
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root/children?expand=thumbnails
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root/children?expand=thumbnails
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root/children?expand=thumbnails
    error:CompactToken parsing failed with error code: 80049217! waiting 180s
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root:/C%23%E5%85%A5%E9%97%A8%E4%B9%8B%E5%BA%93%E5%AD%98%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B:/children?expand=thumbnails
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root:/IDM%206.28%2B%E7%BB%BF%E5%8C%96%E8%A1%A5%E4%B8%81:/children?expand=thumbnails
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root:/ss%E6%90%AD%E5%BB%BA:/children?expand=thumbnails
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root:/Windows%20Server%202008%20R2%20%E6%A0%87%E5%87%86%E7%89%88%2B%E4%BC%81%E4%B8%9A%E7%89%88%2B%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83%E7%89%88%2BWeb%E7%89%88%202018.04:/children?expand=thumbnails
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root:/win%E6%BF%80%E6%B4%BB:/children?expand=thumbnails
    all thread stop!
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root/children?expand=thumbnails
    error:CompactToken parsing failed with error code: 80049217! waiting 180s
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root/children?expand=thumbnails
    error:CompactToken parsing failed with error code: 80049217! waiting 180s
    getting files from url https://graph.microsoft.com/v1.0/me/drive/root/children?expand=thumbnails
    error:CompactToken parsing failed with error code: 80049217! waiting 180s

    1. Rat's
      @靳旭东

      API抽风吧。

      1. 靳旭东
        @Rat's

        我直接把服务器重置然后用一键脚本又装了一遍然后就好了

      2. 靳旭东
        @Rat's

        我直接重置了服务器又用一键脚本搞了一边就好了,找不到问题用这方法包治百病。

        1. Rat's
          @靳旭东

          是的,有时候重装是最好的解决办法。

  6. LOCMJJ

    请教大佬 caddy反代pyone后怎么添加一个 robots.txt文件?
    我不想让搜索引擎收录我的网盘。想用 robots.txt禁止。

    1. Rat's
      @LOCMJJ

      貌似不能用robots.txt禁止,等作者加这个功能,估计快有了,你可以先把不想被收录的文件放进一个带密码的文件夹。

  7. sdshdv

    装好之后显示这个:
    pyone.service - pyone
    Loaded: loaded (/etc/systemd/system/pyone.service; enabled; vendor preset: disabled)
    Active: failed (Result: start-limit) since Fri 2018-12-07 18:53:37 CST; 24s ago
    Process: 30815 ExecStart=/bin/bash -c cd /root/PyOne && -w4 -b 0.0.0.0:34567 run:app (code=exited, status=127)
    Main PID: 30815 (code=exited, status=127)

    Dec 07 18:53:37 host.localdomain systemd[1]: pyone.service: main process exited, code=exited, status=127/n/a
    Dec 07 18:53:37 host.localdomain systemd[1]: Unit pyone.service entered failed state.
    Dec 07 18:53:37 host.localdomain systemd[1]: pyone.service failed.
    Dec 07 18:53:37 host.localdomain systemd[1]: pyone.service holdoff time over, scheduling restart.
    Dec 07 18:53:37 host.localdomain systemd[1]: start request repeated too quickly for pyone.service
    Dec 07 18:53:37 host.localdomain systemd[1]: Failed to start pyone.
    Dec 07 18:53:37 host.localdomain systemd[1]: Unit pyone.service entered failed state.
    Dec 07 18:53:37 host.localdomain systemd[1]: pyone.service failed.
    求解是怎么回事,用的是搬瓦工的centos7,纯净系统

    1. sdshdv
      @sdshdv

      第二次安装显示这个;
      Dec 07 18:51:41 host.localdomain systemd[1]: pyone.service: main process exited, code=exited, status=127/n/a
      Dec 07 18:51:41 host.localdomain systemd[1]: Unit pyone.service entered failed state.
      Dec 07 18:51:41 host.localdomain systemd[1]: pyone.service failed.
      Dec 07 18:51:41 host.localdomain systemd[1]: pyone.service holdoff time over, scheduling restart.
      Dec 07 18:51:41 host.localdomain systemd[1]: start request repeated too quickly for pyone.service
      Dec 07 18:51:41 host.localdomain systemd[1]: Failed to start pyone.
      Dec 07 18:51:41 host.localdomain systemd[1]: Unit pyone.service entered failed state.
      Dec 07 18:51:41 host.localdomain systemd[1]: pyone.service failed.
      Dec 07 18:51:41 host.localdomain systemd[1]: [/etc/systemd/system/pyone.service:9] Executable path is not absolute, ignoring: cd /root/PyOne

      1. Rat's
        @sdshdv

        我用瓦工KVM Centos 7 bbr系统测试的时候好像没问题,你这问题貌似出现在Pyone的systemctl配置文件ExecStart参数命令执行绝对路径上面,也许不是,我得上你服务器看看才行,不过还是建议你直接换Debian 9试试。

  8. 小财神

    Complete!
    --2018-12-06 23:08:16-- http://download.redis.io/releases/redis-5.0.2.tar.gz
    Resolving download.redis.io (download.redis.io)... 109.74.203.151
    Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1952989 (1.9M) [application/x-gzip]
    Saving to: ‘redis-5.0.2.tar.gz’

    21% [==============================> ] 416,232 --.-K/s eta 15m 35s

    就没反应了
    1. 小财神
      @小财神

      换Debian 9安装成功

      1. Rat's
        @小财神

        卡住大概网络问题,一般没有什么问题是换系统解决不了的。

  9. Jacob

    怎么样才能做到链接标明什么哪个文件夹哪个文件呢?现在都是乱码

    1. Rat's
      @Jacob

      程序问题可以问下作者 。

      1. Jacob
        @Rat's

        不是,我指的应该是伪静态…用作者那个脚本是伪静态

        1. Rat's
          @Jacob

          作者那个应该是Aria2脚本吧,我到时候看看。

  10. 别跟我翻脸

    签发的证书是三个月到期,到期后能自动续签吗?

    1. Rat's
      @别跟我翻脸

      按理说是自动续期的。