欢迎光临
我一直在努力开车

PyOne2.0更新-更方便的验证方式&支持多种视频格式播放

PyOne喜迎2.0版本:

  1. 验证方式更方便、更快捷
  2. 支持个人版账号,同时不再支持世纪互联版账号
  3. 支持avi、wmv等格式视频播放

PyOne介绍

  1. onedrive列表程序,可用于更好的分享文件
  2. 基于Flask开发,Python是最好的语言
    demo展示:https://pyone.me (别问我密码)

安装前提

  1. 只支持onedrive商业版、教育版、个人版,不再支持世纪互联版
  2. 涉及的东西较多,不熟悉linux操作但是想安装的,多操作几遍

升级教程

  1. 如果是1.0版本升级2.0,那么直接重新安装
  2. 如果是小版本更新,则可以按照以下流程进行更新代码
    • 先将data目录和config.py复制出去
    • 删除原来的PyOne源码
    • 重新git clone一份PyOne源码
    • 将原来的data目录替换新源码的data目录,原来的config.py替换新源码的config.py
    • 重新安装依赖,看是否有新增的依赖包:
        pip install -r requirements.txt
      
    • 重启网站:
        supervisorctl -c supervisord.conf restart pyone
      
    • 最好更新一下文件缓存:
       python function.py UpdateFile
      

安装教程

1. 准备工作

  • 环境要求:centos7+python2.7
  • 安装宝塔面板:http://bt.cn
  • 在宝塔面板安装:redis、mongodb、nginx
  • 源码下载到本地:
    git clone https://github.com/abbeyokgo/PyOne
    
  • 修改源码下的config.py文件:
    • 修改config_dir为当前源码目录绝对路径

2. 开始安装

  • 安装依赖环境:
cd PyOne && wget https://bootstrap.pypa.io/get-pip.py && python get-pip.py && pip install -r requirements.txt
  • 试运行,在源码根目录下运行
gunicorn -k eventlet -b 0.0.0.0:34567 run:app

然后试着访问:http://ip:34567 看看能正常显示?如果不能,请在宝塔开启端口,还不行请看错误内容

  • 修改nginx配置

假设你已经将域名解析到你的服务器了,然后在宝塔添加了域名,那么只需要在宝塔修改nginx配置

网站管理-点击域名-反向代理,反向代理:http://127.0.0.1:34567
TIM截图20180913191350.png

保存之后,应该就可以通过域名访问了

注意!为了后台功能的正常使用,反向代理之后,需要修改nginx配置

如图,添加两行,再保存

location / 
    {
        ...
        
        proxy_buffering off;
          proxy_cache off;
                
        ...
    }

TIM截图20180913191714.png

  • 授权

紧接着上一步,就能直接授权了

1.png
2.png
3.png
4.png

3. 配置开机启动

网站源码下有个supervisord.conf,主要内容如下:

[program:pyone]
command = gunicorn -k eventlet -b 0.0.0.0:34567 run:app
directory = /root/pyone
autorestart = true

主要修改两个地方:

  1. 端口号:即34567那个端口号,修改为自己选的,或者不改动
  2. 源码目录:directory修改为你选的网站目录

修改之后运行下面的命令,设置开机启动

echo "supervisord -c 源码目录/supervisord.conf" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

重启生效。

本次不用重启生效的方法:

supervisord -c 源码目录/supervisord.conf

高级使用

带你玩转PyOne:onedrive列表工具(二、使用篇)

带你玩转PyOne:onedrive列表工具(三、后台管理篇)

提供安装服务

点击购买

赞(1)
未经允许不得转载:一个人的公交 » PyOne2.0更新-更方便的验证方式&支持多种视频格式播放

评论 44

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    有点小问题:
    1.现在宝塔界面总是显示服务器CPU使用率100%,该怎么解决?
    2.在运行“python function.py UpdateFile”这句代码的时候经常会卡死在“waiting 5s if queue is not empty”在这个地方,该这么解决?
    3.在后台更改网站配置,点击保存后会自动重启网站,然后就卡死在重启网站这,一直显示正在重启网站,而且你更改的配置如果不手动停止“gunicorn -k eventlet -b 0.0.0.0:34567 run:app”这句代码的运行是无法保存你所做的更改的,除非手动停止这句代码的运行,然后再重新运行这句代码,才能真正保存你所做的更改。
    4.如果给redis添加了密码,那么网站将无法运行,那么我该改哪里的代码才能让我即使给redis设置了密码也可以使网站正常运行?

    苏寅 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
    • @苏寅 1. 配置至少1G内存以上比较好

      2. 直接ctrl+c结束运行就好

      3. 自动重启网站是在配置了开机自启的前提下才能用,不然就只能手动结束运行在重新运行

      4. 默认redis没有设密码,设置了密码就在`function.py`修改rd=Redis(host=’localhost’,port=6379)

      Abbey 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
      • @Abbey rd=Redis(host=’localhost’,port=6379)找到这一句了,该怎么添加密码?

        苏寅 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
  2. #2

    cpu使用率一直是100%这个问题,我让腾讯那边的技术人员检测了,说是我的服务器上有后门程序。这个后门程序会将你用top命令查进程的时候把一直占用CPU的进程隐藏,所以在你用top查cpu占用进程的时候查不到,但是还是CPU被100%占用,即使你把你个后门程序手动杀死它也会自动自动重启。而那个后门程序一直100%占用CPU做了什么只有你们知道了。而出现这个情况是再安装了PyOne之后出现的情况,你们是不是应该给点解释?

    苏寅 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
    • @苏寅 代码就在那,有没有后门自己检测,自己带点脑子再来说话

      Abbey 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
      • @Abbey 那你到是解释为啥cpu会一直占用100%,而且还不是我一个人的问题!别说这才跑了一个程序就占用100%,就算跑5个程序也不应该占用100%!

        苏寅 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
        • @苏寅 你这种小学生不懂就不要在这里丢人现眼了,我也懒得跟你解释,趁早重装系统回去写作业

          Abbey 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器  MIX 2 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 YaBrowser/18.9.0.486.00 Mobile Safari/537.36 回复
          • @Abbey 问题找到了,是因为有一个挖矿木马病毒的原因。并且已经手动清除掉了。对于我之前的态度我表示抱歉,是我太冲动了些,抱歉!

            苏寅 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10
    • @苏寅 你这种无脑伸手党真是伤大佬的心!

      大熊 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器  MIX 2 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 YaBrowser/18.9.0.486.00 Mobile Safari/537.36 回复
      • @大熊 像你这种无脑喷子还真是多

        苏寅 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
    • @苏寅 为你的智商感到担忧

      信仰 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器  Android 8.0.0 MI 6 Build/OPR1.170623.027 回复
      • @信仰 凭你说的这就话就知道你的智商高不到哪去

        苏寅 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
  3. #3

    大佬,个人版绑定账号显示Microsoft account is experiencing technical problems. Please try again later. 教育版显示AADSTS50011: No reply address is registered for the application.都无法正常绑定,是哪里出现了问题么,教育版是自己学校的,是不是没开放权限,谢谢了。

    眷恋 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
    • @眷恋 都重新走一遍流程,一遍不行就是第二遍

      Abbey 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器  MIX 2 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 YaBrowser/18.9.0.486.00 Mobile Safari/537.36 回复
  4. #4

    Internal Server Error
    The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

    换了两台机子都这样,一台256M,一台512M,centos7+宝塔

    呵呵哒 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
    • @呵呵哒 看后台什么错误。检查mongodb、redis安装运行没有

      Abbey 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器  MIX 2 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 YaBrowser/18.9.0.486.00 Mobile Safari/537.36 回复
      • @Abbey 后台是这个错误

        [2018-10-29 22:23:58,771] ERROR in app: Exception on / [GET]
        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_functions[rule.endpoint](**req.view_args)
        File “/usr/lib64/python2.7/site-packages/flask_limiter/extension.py”, line 544, in __inner

        呵呵哒 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
    • @呵呵哒 我的也是这样,最后解决的

      听说 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
  5. #5

    [2018-10-29 22:23:58,771] ERROR in app: Exception on / [GET]
    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_functions[rule.endpoint](**req.view_args)
    File “/usr/lib64/python2.7/site-packages/flask_limiter/extension.py”, line 544, in __inner
    return obj(*a, **k)
    File “/root/PyOne/run.py”, line 376, in index
    if items.count()==0:
    File “/usr/lib64/python2.7/site-packages/pymongo/collection.py”, line 1766, in count
    return self._count(cmd, collation, session)
    File “/usr/lib64/python2.7/site-packages/pymongo/collection.py”, line 1563, in _count
    with self._socket_for_reads(session) as (sock_info, slave_ok):
    File “/usr/lib64/python2.7/contextlib.py”, line 17, in __enter__
    return self.gen.next()
    File “/usr/lib64/python2.7/site-packages/pymongo/mongo_client.py”, line 1099, in _socket_for_reads
    server = topology.select_server(read_preference)
    File “/usr/lib64/python2.7/site-packages/pymongo/topology.py”, line 224, in select_server
    address))
    File “/usr/lib64/python2.7/site-packages/pymongo/topology.py”, line 183, in select_servers
    selector, server_timeout, address)
    File “/usr/lib64/python2.7/site-packages/pymongo/topology.py”, line 199, in _select_servers_loop
    self._error_message(selector))
    ServerSelectionTimeoutError: localhost:27017: [Errno 111] ECONNREFUSED

    呵呵哒 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
    • @呵呵哒 你这个就是mongodb没有安装或者没有运行

      Abbey 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器  MIX 2 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 YaBrowser/18.9.0.486.00 Mobile Safari/537.36 回复
  6. #6

    如何寻求付费帮助,无法绑定账号,获取code

    木头 6个月前 (10-29) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
  7. #7

    有时候手动更新会卡在“waiting 5s if queue is not empty”这里,怎么解决?

    苏寅 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
  8. #8

    昨晚遇到一个问题一个文件把它删除了 然后上传上去 重新文件下载它 文件内容居然不是原来的内容而是你的py html代码 怎么弄都没用,然后换了php版本的 文件就正常了

    m1911 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
    • @m1911 没看懂你在说什么

      Abbey 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
  9. #9

    球球你了,找人做张pyone的特色图吧。 眼都瞎了

    Madlifer 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
    • @Madlifer 马币!绝对不花钱!

      Abbey 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
  10. #10

    正在更新数据!如果您是网站管理员,请在后台运行命令:python function.py UpdateFile

    请问这个是怎么操作?ssh进去运行这个命令吗?确认运行了并且ssh里提示更新成功了,打开网页还是这个报错

    呵呵哒 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
  11. #11

    error to opreate GetItem(“https://马赛克-my.sharepoint.com/v1.0/me/drive/root/children?expand=thumbnails”,”0″,””),try times :4, reason: Extra data: line 1 column 5 – line 1 column 17 (char 4 – 16)
    waiting 5s if queue is not empty
    运行python function.py UpdateFile全是错误怎么解决

    idm 6个月前 (10-30) 这家伙可能用了美佬的代理 谷歌浏览器  SM-G9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.64 Mobile Safari/537.36 回复
    • @idm 光从这些错误,看不出来原因

      Abbey 6个月前 (10-31) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
  12. #12

    怎么装到乐云虚拟主机上啊

    sxgpyjg 6个月前 (11-02) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
  13. #13

    怎么装到虚拟主机上 乐云空间

    sxgpyjg 6个月前 (11-02) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
    • @sxgpyjg 不能虚拟空间,至少得是vps

      Abbey 6个月前 (11-02) 这家伙可能用了美佬的代理 谷歌浏览器  MIX 2 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 YaBrowser/18.9.0.486.00 Mobile Safari/537.36 回复
  14. #14

    这个教程是linux系统上的吧

    sxgpyjg 6个月前 (11-02) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
  15. #15

    换服务器,在新机器装无法启动了。
    [[email protected] PyOne]# gunicorn -k eventlet -b 0.0.0.0:34567 run:app
    [2018-11-09 13:57:25 +0000] [2533] [INFO] Starting gunicorn 19.9.0
    [2018-11-09 13:57:25 +0000] [2533] [INFO] Listening at: http://0.0.0.0:34567 (2533)
    [2018-11-09 13:57:25 +0000] [2533] [INFO] Using worker: eventlet
    [2018-11-09 13:57:25 +0000] [2540] [INFO] Booting worker with pid: 2540
    [2018-11-09 13:57:25 +0000] [2540] [ERROR] Exception in worker process
    Traceback (most recent call last):
    File “/usr/lib/python2.7/site-packages/gunicorn/arbiter.py”, line 583, in spawn_worker
    worker.init_process()
    File “/usr/lib/python2.7/site-packages/gunicorn/workers/geventlet.py”, line 102, in init_process
    super(EventletWorker, self).init_process()
    File “/usr/lib/python2.7/site-packages/gunicorn/workers/base.py”, line 129, in init_process
    self.load_wsgi()
    File “/usr/lib/python2.7/site-packages/gunicorn/workers/base.py”, line 138, in load_wsgi
    self.wsgi = self.app.wsgi()
    File “/usr/lib/python2.7/site-packages/gunicorn/app/base.py”, line 67, in wsgi
    self.callable = self.load()
    File “/usr/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py”, line 52, in load
    return self.load_wsgiapp()
    File “/usr/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py”, line 41, in load_wsgiapp
    return util.import_app(self.app_uri)
    File “/usr/lib/python2.7/site-packages/gunicorn/util.py”, line 350, in import_app
    import(module)
    File “/www/wwwroot/fakeox_com/PyOne/run.py”, line 506, in
    app.jinja_env.globals[‘tj_code’]=tj_code if tj_code is not None else ”
    NameError: name ‘tj_code’ is not defined
    [2018-11-09 13:57:25 +0000] [2540] [INFO] Worker exiting (pid: 2540)
    [2018-11-09 13:57:26 +0000] [2533] [INFO] Shutting down: Master
    [2018-11-09 13:57:26 +0000] [2533] [INFO] Reason: Worker failed to boot.

    稻草V 5个月前 (11-09) 这家伙可能用了美佬的代理 QQ浏览器 Windows 10 回复
    • @稻草V config.py 最后面添加一行:
      tj_code=”
      然后supervisorctl -c supervisord.conf restart pyone 重启网站

      Abbey 5个月前 (11-09) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
  16. #16

    换服务器后不能重新绑定,不能更新缓存
    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

    稻草V 5个月前 (11-09) 这家伙可能用了美佬的代理 QQ浏览器 Windows 10 回复
    • @稻草V data/下的文件全删了,重新走一遍流程

      Abbey 5个月前 (11-09) 这家伙可能用了美佬的代理 未知浏览器 Unknow Os 回复
      • @Abbey 已经好了,现在有个问题,只能手动命令更新,后台点击更新缓存就跳到登录页

        稻草V 5个月前 (11-10) European Union QQ浏览器 Windows 10 回复
        • @稻草V 你说的这个问题我无法复现

          Abbey 5个月前 (11-10) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 回复
  17. #17

    播放器用的是dplayer还是ckplayer?

    你是 5个月前 (11-13) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 7 回复
  18. @♥PyOne2.0:Onedrive 多用户网盘 – NLOLO奇妙屋 老兄,3.0都发布了

    Abbey 5个月前 (11-16) 这家伙可能用了美佬的代理 谷歌浏览器  MIX 2 Build/OPR1.170623.027) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 YaBrowser/18.9.0.486.00 Mobile Safari/537.36 回复

Onedrive个人网盘搭建

GitHub地址联系Abbey