说明: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
启动命令不一样以外,其它都一样,包括上传等命令。
再后台哪里改密码啊,没看见- -
修改源码目录的self_config.py文件,找到关键字
caddy启动不成功,显示
caddy.service - Caddy server
Loaded: loaded (/etc/systemd/system/caddy.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since Sun 2019-05-05 00:57:41 CST; 13min ago
Process: 5227 ExecStart=/usr/local/bin/caddy --conf=/root/.caddy/caddy.conf -agree (code=exited, status=1/FAILURE)
Main PID: 5227 (code=exited, status=1/FAILURE)
May 05 00:57:41 Alex systemd[1]: caddy.service: main process exited, code=exited, status=1/FAILURE
May 05 00:57:41 Alex systemd[1]: Unit caddy.service entered failed state.
May 05 00:57:41 Alex systemd[1]: caddy.service failed.
May 05 00:57:41 Alex systemd[1]: caddy.service holdoff time over, scheduling restart.
May 05 00:57:41 Alex systemd[1]: start request repeated too quickly for caddy.service
May 05 00:57:41 Alex systemd[1]: Failed to start Caddy server.
May 05 00:57:41 Alex systemd[1]: Unit caddy.service entered failed state.
May 05 00:57:41 Alex systemd[1]: caddy.service failed.
通过ip可以访问,这个要怎么解决
应该是ssl被限制了,导致启动失败,先编辑root/.caddy/caddy.conf,去掉开头https的s,也删掉tls一行代码,然后重启systemctl restart caddy,最后再用http打开域名试试
感谢回复,谷歌了半天没解决,后面就干脆删除脚本里的caddy,用nginx反代了
离线下载页白屏,咋办。用你的一键脚本,重装重启了都没有
是全新系统装的?
用caddy反代子目录会经常502,删掉那三段代码又会出些问题,简直进退两难
应该是caddy的问题
应该不会吧,我还没出现过。
不要说了,现在挂了
可以查看全部程序状态,然后状态非Active:inactive的可以用命令重启下
大佬,用4.0的话会没有文件,用3.0的话就没事,而且很多次都会域名已经解析了,在安装时候还是提示域名没有解析,因为安装别的例如OneIndex的话就不会提示域名没有解析。
可能是hosts的问题,你可以自己修改脚本,把左下角的use_domain(){domain},中的domain删掉,保存,再运行脚本
报错啊,咋办。
Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib64/python2.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib64/python2.7/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib64/python2.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib64/python2.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functionsrule.endpoint
File "/root/PyOne/app/admin/upload.py", line 17, in upload
filelists=list_all_files(local)
File "/root/PyOne/app/utils/header.py", line 291, in list_all_files
_files.extend(list_all_files(path))
File "/root/PyOne/app/utils/header.py", line 291, in list_all_files
_files.extend(list_all_files(path))
File "/root/PyOne/app/utils/header.py", line 291, in list_all_files
_files.extend(list_all_files(path))
File "/root/PyOne/app/utils/header.py", line 291, in list_all_files
_files.extend(list_all_files(path))
File "/root/PyOne/app/utils/header.py", line 278, in list_all_files
shutil.move(rootdir,newf)
File "/usr/lib64/python2.7/shutil.py", line 298, in move
copytree(src, real_dst, symlinks=True)
File "/usr/lib64/python2.7/shutil.py", line 177, in copytree
os.makedirs(dst)
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 1] Operation not permitted: '/sys/kernel/slab/d-0001024'
这个还是换个系统试试吧
最近经常出现,在SSH客户端执行增量更新,出现错误,然后前端页面直接出现502 Bad Gateway,使用启动pyone的代码也不能运行网站
用文章给的相关命令重新启动,所有应用都重启下
Mongodb等依赖安装失败,请重新检查! 这个是什么原因
不清楚,没具体报错
你好,我想问下,网站建成之后,可以把DNS转到Cloudflare做加速吗?这样会隐藏真实ip,会对网站有影响吗?
你可以试试,除了速度,其它好像没啥影响
caddy.service - Caddy server
Loaded: loaded (/etc/systemd/system/caddy.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2019-03-21 23:08:10 EDT; 5s left
Process: 26364 ExecStart=/usr/local/bin/caddy --conf=/root/.caddy/caddy.conf -agree (code=exited, status=1
Main PID: 26364 (code=exited, status=1/FAILURE)
Mar 21 23:08:10 YUN18811154922 systemd[1]: caddy.service: Main process exited, code=exited, status=1/FAILURE
Mar 21 23:08:10 YUN18811154922 systemd[1]: caddy.service: Unit entered failed state.
Mar 21 23:08:10 YUN18811154922 systemd[1]: caddy.service: Failed with result 'exit-code'.
Mar 21 23:08:10 YUN18811154922 systemd[1]: caddy.service: Service hold-off time over, scheduling restart.
Mar 21 23:08:10 YUN18811154922 systemd[1]: Stopped Caddy server.
Mar 21 23:08:10 YUN18811154922 systemd[1]: caddy.service: Start request repeated too quickly.
caddy启动错误
运行下这个命令caddy --conf=/root/.caddy/caddy.conf -agree,然后把错误发出来
这个问题我重装解决了 现在问题是 一切正常 绑定了od 拉不到文件列表
update A's / file
2019-03-22 01:14:51,255 - INFO: [start] getting files from url https://graph.microsoft.com/v1.0/me/drive/root/children?expand=thumbnails
2019-03-22 01:14:54,444 - INFO: error:The caller does not have permission to perform the action.! waiting 180s
会不会是api的问题
过了几个小时,现在可以更新数据了
我重新绑定很多次了。。。