笔者之前只搭建FTP
服务器,用来传文件当"网盘",有点儿low,可是别的不会呀,今儿逛github看到这个updog
库,几行代码搞定个人云盘,心动不如行动,走起!当然,你也可以在学校用树莓派做一个!
先安装:
$ pip install updog
如果嫌慢,可以用清华源:
$ pip install updog -i https://pypi.tuna.tsinghua.edu.cn/simple
顺便说一下,这是临时改变下载源,如果要完全更改:
$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
具体可以参考:
清华大学开源软件镜像站 pypi 镜像使用帮助
我们先新建一个目录,作为网盘的文件夹:
$ mkdir ~/updogCloud
$ # 笔者选择建立在此处,可以选择自己喜欢的地方
$ # ↓ 如果建立错了,删除即可 ↓
$ # rm -r ~/updogCloud
接下来,我们需要手动开启端口,(若是玩树莓派等,没有此步骤)
进入安全控制组
阿里云控制台
-> 左侧的网络与安全
-> 安全组
-> 点击你的实例
在入方向
选择添加安全组规则
,将9090端口开放,updog会默认使用该端口,用作网盘文件传输端口
端口开放完毕!
接着我们就可以使用updog
来开启服务:
$ updog -d ~/updogCloud --password updog
接下来,就可以打开浏览器访问了!
输入http://你的IP地址:9090/
没有用户名,输入我们刚刚在命令行指定的密码:updog
这个UI
还是蛮可爱的,咱们用 0 Python代码搭建成功了!!
接下来,笔者来说一下细节:
1.updog参数详解
$ updog -h
usage: updog [-h] [-d DIRECTORY] [-p PORT] [--password PASSWORD] [--ssl] [--version]
optional arguments:
-h, --help show this help message and exit
-d DIRECTORY, --directory DIRECTORY
Root directory [Default=.]
-p PORT, --port PORT Port to serve [Default=9090]
--password PASSWORD Use a password to access the page. (No username)
--ssl Use an encrypted connection
--version show program's version number and exit
-h
或者--help
是获取帮助信息-d
或者--directory
指定网盘目录-p
或者--port
指定开放端口,默认为 9090 端口--password
指定密码,你刚刚看到了,登录时无需用户名
(可能之后的版本会有)--ssl
使用加密方式连接,也就是说,你要用https
来访问--version
显示当前的版本(当前是updog v1.4
)
2.如何远程登陆服务器
- 阿里云的服务器提供了,远侧登陆功能,甚至可以通过VNC图形化操作
- putty远程登陆,window linux上都有,github上有中文版:https://github.com/larryli/PuTTY
- 还有WinSCP,我最喜欢,谁用谁知道,超级好用,内嵌了
putty
- 在上一篇博客上说了,可以远程访问
jupyter-notebook
,通过它开启终端,不多说了
3.如何后台运行和关闭
我们关闭终端后,服务就会立马停止:
如何让其后台运行呢??
$ updog -d ~/updogCloud --password updog --ssl &
加上&
服务就会在后台运行
(你有可能会卡在那里,按一下回车就好了)
上面的18797是进程号
当我们想关闭服务时,可以通过kill -s 9 18797
来结束它
如果我们忘了进程号,可以通过fuser -v -n tcp 端口号
来查找对应的程序ID,然后使用kill -s 9 程序ID
来关闭指定服务
参考链接:
pip项目介绍:https://pypi.org/project/updog/
github原址:https://github.com/sc0tfree/updog