说明: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 7
、Debian 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
启动命令不一样以外,其它都一样,包括上传等命令。
你好,为什么装完后 要加:34567 才能访问呢?
因为程序在34567端口上运行。
博主后台无法修改PyOne的后台管理密码,保存后一直是默认的
这时候你需要一个重启操作,比如systemctl restart pyone或者reboot。
嗯嗯搞定了
博主,瓦工centos7安装完后发现redis没安装成功
这个貌似对瓦工的C7有点小问题,已修复,你再试试。
我也是瓦工的centos7,redis还是安装不上
为了瓦工C7,我专门把redis换成了编译安装,还测试通过了的,你是BBR系统还是?安装不上有什么提示没
我是ovz的主机 难道跟这个有关系?
这个不是很清楚,没日志信息,加上我没瓦工 OVZ,所以不好测试,你换Debian 9系统看看。
Emmmm,面板里没有Debian 9,是只KVM版本的有吗?我今晚再在C7跑一遍 看看具体提示。
Debian 8也行,OVZ现在没啥玩头啊。
买主机的时候不懂,随便选了一个。年付,现在后悔死。将就用吧
用完了,就换KVM吧,博客置顶都是KVM。
我用的就是搬瓦工的KVM,centos7.5,没有问题
是没问题,我专门争对瓦工C7调整了下。
发现PyOne程序一个bug。我通过离线下载功能保存视频文件时,若默认名称过长,则无法读取该视频,但重新修改一个名称后,就恢复正常了。
https://i.loli.net/2018/11/30/5c014ee32c92f.png
https://i.loli.net/2018/11/30/5c014efbc8e16.png
但又好像不是文件名过长的问题,通过离线下载保存的都不能读取视频(能看到新增的这个文件),更新缓存后恢复正常。
这程序文件变动后,需要几分钟自行更新缓存,或者手动更新,后者是立即生效的。
您好,杂货铺遇到了支付问题
等萌咖大佬修复吧。
我是魔鬼吧……第一次弄好了没问题,装Bbr 55R出问题重装后,现在装密钥填了重启aria2还是没有保存上……
55R可能会涉及到防火墙啥的,就会影响程序打不开。
可以了可以了,所有命令都重启一遍……
不过离线下载添加了没反应还是
注意缓存问题。
有点怀疑人生,刚刚可以的把任务删掉了,现在测试添加任务又是没反应,博主能帮我看看吗?折腾了一下午弄好这个那个出问题,弄好这个又到那里出问题……还有手动上传也没反应
我使用一切正常,你可以问下作者,只能说这东西不适合折腾。
嗯嗯,原来要等久一点,没问题了,可以离线了
geting file from dir /root/Download
get 1 files from dir /root/Download
check filename
check repeat file
Traceback (most recent call last):
File "/root/PyOne/function.py", line 1517, in <module>
eval(func+str(tuple(args)))
File "<string>", line 1, in <module>
File "/root/PyOne/function.py", line 884, in UploadDir
parent_id=parent['id']
TypeError: 'NoneType' object has no attribute '__getitem__'
上传出现问题
这个程序问题吧,多传几次看看,在ssh客户端用命令。
ssh里面的pyone命令不知道怎么敲。
这个问题好像是数据库出现了问题,你百度下清空Mongodb数据库的方法,或者直接用这个上传教程https://www.moerats.com/archives/697/。
请问能设置脚本检查已经安装Caddy则跳过安装吗?
这个为新系统准备的脚本,你可以先自己编辑脚本,删掉caddy安装那一排代码,然后再运行。
我发现基本设置那里密钥那里保存了没用
保存后需要重启Aria2。
果然,感谢,重启了文件管理那里的离线正常了
博主你好,安装好后打开域名是Aria2NG的页面,但是显示不完整,连接成功但是用不了,右上角有英文和左边的添加下载那些字体没有。
然后就是文件管理那里的离线下载也是没反应,也不提示添加任务成功,再来就是后面打开域名是跳到网盘界面,进不去Aria2NG界面了,加上6080也进不去,所以现在用别人的面板下载……
这个脚本没安装Aria2NG啊。你运行脚本的系统是刚安装好的新系统吗?
是的,刚装好
你清空浏览器缓存看看,这脚本没装过Aria2NG。