PyOne4.0更新:代码组织结构发生重大变化!请重新安装

为了更好的使用,请参考PyOne文档:https://wiki.pyone.me

为了更好的扩展PyOne,PyOne4.0重新组织代码,使用更规范的蓝图组织代码!2019.02.15之前安装的PyOne需要删除目录并且重新安装! 重新安装教程:

1. 备份config.py,并改名为self_config.py;备份supervisord.conf
2. 备份data目录
3. 删除原来的PyOne目录
4. 重新git clone https://www.github.com/abbeyokgo/PyOne.git
5. 将self_config.py、supervisord.conf和data目录复制回去
6. 创建一个锁定文件:touch .install
7. 安装新的依赖包:pip install flask_script
8. 重启网站:supervisorctl -c supervisord.conf reload

网盘Demo:https://www.pyone.me/

适用onedrive版本

  1. 个人版
  2. onedrive商业版
  3. onedrive教育版(需要学校管理员开启权限)

特性

  1. 简单易用。只需简单设置,即可做一个onedrive文件列表分享程序
  2. 功能丰富。

    • 可设置文件夹密码。只需在文件夹添加.password文件,内容为密码内容,即可在该文件夹设置密码
    • 可设置README。
  3. 后台强大。

    • 防盗链设置
    • 后台上传文件
    • 后台更新文件
    • 后台设置统计代码
    • 后台管理onedrive文件

      • 删除onedrive文件
      • 直接在后台给文件夹添加.passwordREADMEHEAD
      • 直接在后台编辑文本文件
      • 上传本地文件至onedrive(2018.10.18更新)
      • 支持创建文件夹(2018.10.19更新)
      • 支持移动文件(仅限单文件)(2018.10.19更新)
  4. 支持绑定多网盘!!!(2018.11.15更新)

适用环境

  1. linux环境(推荐centos7)
  2. Python2.7
  3. 需要安装redis,MongoDB

安装教程

安装宝塔

这个无需多说,前往包装安装页面,选择自己的服务器版本进行安装。

宝塔安装插件

  1. nginx
  2. mongodb
  3. redis

安装完以上软件再继续!

下载脚本&&安装依赖包&&准备文件

下载脚本:在root目录下运行:

git clone https://github.com/abbeyokgo/PyOne.git

安装依赖包:

cd PyOne
yum install wget && wget https://bootstrap.pypa.io/get-pip.py && python get-pip.py && pip install -r requirements.txt

准备文件:

cp self_config.py.sample self_config.py
cp supervisord.conf.sample supervisord.conf

试运行

gunicorn -k eventlet -b 0.0.0.0:34567 run:app

绑定域名&nginx反代域名

  1. 先确保域名已经绑定到你的服务器ip
  2. 打开宝塔-网站-添加站点
  3. 设置反代:宝塔-网站-点击域名-反向代理,设置值http://127.0.0.1:34567然后勾选启用反向代理
  4. 添加nginx配置:宝塔-网站-点击域名-配置文件。找到以下内容,添加__标红__的两行。
location / 
    {
        ...

        __proxy\_buffering off;__
__proxy\_cache off;__

        ...
    }

如图

做完以上操作,应该就可以访问你的域名了!

绑定网盘

注意!!首次访问,会显示__登录后台__,输入初始密码:__PyOne__后会自动跳转到绑定网盘页面。

第一步:获取应用机密(client_secret)和应用ID(client_id)

  1. 然后点击上方按钮获取__应用机密(client_secret)__,填写到第二栏
  2. 在刚才获取__应用机密(client_secret)的页面,点击知道了,返回到快速启动,会出现错误,查看网址栏,找到__appID__这一个参数,这个参数就是__应用ID(client_id),将__appID__复制到上方第一栏
  3. 填写完上方两个参数,继续__下一步__

第二步:获取验证码并结束绑定

步骤1:点击__绑定账号__,并跳转到绑定页面

步骤2:选择需要绑定的账号,进入下一步

步骤3:接收认证许可,获取一个code,将这个code填写到__code栏__后,点击__结束绑定__

绑定成功

如果没有出现错误,则会进入以下页面。

安装预览

绑定更多网盘

绑定好第一个网盘之后,登录后台(/admin)-文件管理,即可看到网站顶部还有两个“添加网盘”的链接,点进去即可继续绑定更多网盘。

注意!!为确保可以正确绑定网盘,请开一个隐私窗口或者清除cookies后再绑定新网盘!

需要更多网盘位置?

目前默认是只能绑定3个网盘,如果你需要绑定更多的网盘,可以按照以下步骤操作:

  1. 编辑config.py文件。
  2. 修改od\_users字典参数。参考已有内容,添加更多的位置,比如:D、E、F等...
od_users={
    "A":{
        "client_id":"",
        "client_secret":"",
        "share_path":"/",
        "other_name":"网盘1区",
        "order":1
    },
    "B":{
        "client_id":"",
        "client_secret":"",
        "share_path":"/",
        "other_name":"网盘2区",
        "order":2
    },
    "C":{
        "client_id":"",
        "client_secret":"",
        "share_path":"/",
        "other_name":"网盘3区",
        "order":3
    }
}

配置开机启动

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

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

主要修改两个地方:

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

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

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

重启生效。

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

supervisord -c 源码目录/supervisord.conf

为了更好的使用,请参考PyOne文档:https://wiki.pyone.me

提供安装服务

点击购买

本文作者:Abbey

本文链接:https://www.abbeyok.com/archives/174

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0许可协议。转载请注明出处!

注册Google Cloud Platf... <<
45 条评论
  1. author
    2019-07-02
    Abbey
    2019-07-02
    zahi
    auth.pyone.me 522连接超...

    看url

  2. author
    2019-07-02
    zahi

    auth.pyone.me 522连接超时了…没办法获取code完成绑定额

  3. author
    2019-06-26
    Abbey
    2019-06-24
    Lingxh
    离线下载完成后无法上传,错误日志: 20...

    正常情况是不会出现的

  4. author
    2019-06-26
    Abbey
    2019-06-24
    Lingxh
    用管理员账号绑定,授权页面出现了一个代表...

    不会

  5. author
    2019-06-24
    Lingxh

    离线下载完成后无法上传,错误日志:
    2019-06-24 18:01:19,859 - ERROR: Exception on /admin/off_download [POST]
    Traceback (most recent call last):
    File "/usr/lib64/python2.7/site-packages/flask/app.py", line 2311, in wsgi_app
    response = self.full_dispatch_request()
    File "/usr/lib64/python2.7/site-packages/flask/app.py", line 1834, in full_dispatch_request
    rv = self.handle_user_exception(e)
    File "/usr/lib64/python2.7/site-packages/flask/app.py", line 1737, in handle_user_exception
    reraise(exc_type, exc_value, tb)
    File "/usr/lib64/python2.7/site-packages/flask/app.py", line 1832, in full_dispatch_request
    rv = self.dispatch_request()
    File "/usr/lib64/python2.7/site-packages/flask/app.py", line 1818, in dispatch_request
    return self.view_functionsrule.endpoint
    File "/root/PyOne/app/admin/offdownload.py", line 28, in off_download
    subprocess.Popen(cmd,shell=True)
    File "/usr/lib/python2.7/site-packages/eventlet/green/subprocess.py", line 58, in init
    subprocess_orig.Popen.init(self, args, 0, argss, *kwds)
    File "/usr/lib64/python2.7/subprocess.py", line 711, in init
    errread, errwrite)
    File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
    TypeError: execv() arg 2 must contain only strings

  6. author
    2019-06-24
    Lingxh

    用管理员账号绑定,授权页面出现了一个代表组织同意的选项,勾选这个选项会不会使office365的所有账号授权?

  7. author
    2019-05-16
    Abbey
    2019-05-12
    暖暖喵
    大佬请问管理密码怎么修改啊...

    多看wiki。右下角+

  8. author
    2019-05-12
    暖暖喵

    大佬请问管理密码怎么修改啊

  9. author
    2019-04-01
    Abbey
    2019-03-20
    kuku
    https://ws1.sinaimg....

    redis未运行

  10. author
    2019-03-20
    kuku

    https://ws1.sinaimg.cn/large/c5388483gy1g196s8y7j5j20l80jmdht.jpg
    请问安装pyone报错这个是什么原因

请先登陆注册

已登录,注销 取消