1 简介

  当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码,而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类似云盘的服务,使得我们可以在web界面中完成文件的上传与下载,十分的方便,最重要的是,特别特别特别简单!下面就带大家学习一下updog的具体使用方法。

2 使用updog

  笔者习惯使用putty来连接云服务器,如图1(IP地址等信息已打码),我们登录后进入页面:

图1

  因为updogPython的一个第三方包,接下来我们直接使用pip3 install updog来安装updog,在安装前请确保服务器已安装Python 3.X版本:

图2

  接着我们就可以直接使用updog来开启服务,按照如下格式传参启动服务:

updog -d DIRECTORY -p PORT --password PASSWORD

  其中参数d表示服务开启的根目录,即在服务开启后访问服务无法查看此目录同级别或以上的目录,默认为当前目录;参数p表示服务开启的端口,默认9090;参数password表示密码,使用HTTP basic authentication来进行密码保护,无用户名,默认无密码,即直接可以访问,当然这种不建议,譬如下面我们先切换到根目录,然后创建名为updog的文件夹,并在这个文件夹内开启updog服务:

cd /
mkdir updog
cd updog
updog -p 666 --password UPDOG

图3

  这样我们就在我们的云服务器上开启了updog服务,通过ip地址:666来访问服务:

图4

  可以看到这时提示我们输入密码,我们不填用户名,输入密码UPDOG进入服务:

图5

  可以看到在这个页面中我们可以可以随意上传和下载文件(但不可以修改文件,必须在服务器操作),但这时有一个问题当我们关闭putty后,刚才开启的updog服务随即停止,遂无法正常访问,这时我们只需要将开启服务的命令修改为:

nohup updog -p 666 --password UPDOG &

  这时我们的服务便在后台挂起,不会随着putty的关闭而停止:

图6

  并且一台服务器可以开启多个不同配置的updog服务,非常方便,而如果想要关闭之前在后台挂起的服务,可以先通过fuser -v -n tcp 端口号来查找对应的程序ID,然后使用kill -s 9 程序ID来关闭指定服务:

图7

  

  以上就是本文全部内容,如有笔误之处望指出!

实用的Python(3)超简单!基于Python搭建个人“云盘”的更多相关文章

  1. 超简单!基于Python搭建个人“云盘”

    1. 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码,而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类 ...

  2. 基于Hadoop开发网络云盘系统客户端界面设计初稿

    基于Hadoop开发网络云盘系统客户端界面设计初稿 前言: 本文是<基于Hadoop开发网络云盘系统架构设计方案>的第二篇,针对界面原型原本考虑有两个方案:1.类windows模式,文件夹 ...

  3. 基于Hadoop开发网络云盘系统架构设计方案

    基于Hadoop开发网络云盘系统架构设计方案第一稿 引言 云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度.新浪.网易都推出了自己的云盘系统,本文基于开源框架Hadoop设计实现了一套自己 ...

  4. 基于LAMP php7.1搭建owncloud云盘与ceph对象存储S3借口整合案例

    ownCloud简介 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于 ...

  5. 基于VPN搭建混合云架构需要考虑的网络因素

     Joy Qiao from MSFT Wed, Jan 21 2015 8:44 AM 很多用户在搭建混合云架构时,会使用到微软Azure虚拟网络中的 VPN功能,来实现Azure中的虚拟网络与用户 ...

  6. 基于Hadoop开发网络云盘系统架构设计方案第一稿

    引言 云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度.新浪.网易都推出了自己的云盘系统,本文基于开源框架Hadoop设计实现了一套自己的网络云盘系统,方案为初步设计方案,不断完善中. 一 ...

  7. python简介以及简单代码——python学习笔记(一)

    学习来源:https://www.liaoxuefeng.com/wiki/1016959663602400 了解python 简单编写并实现python代码 命令行模式和python交互模式 了解p ...

  8. 基于CentOS搭建私有云服务

    系统版本:CentOS 7.2 64 位操作系统 部署 XAMPP 服务 下载 XAMPP(XAMPP 是个集成了多个组件的开发环境,包括 Apache + MariaDB + PHP + Perl. ...

  9. 基于Python的机器学习实战:KNN

    1.KNN原理: 存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系.输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应 ...

随机推荐

  1. 2019-2020-1 20199324《Linux内核原理与分析》第八周作业

    第七章 可执行程序工作原理 一.ELF目标文件格式 目标文件:ABI,应用程序二进制接口,是编译器生成的文件. ELF:可执行的和可链接的格式,是一个目标文件格式的标准.三种类型是: 可重定位文件:L ...

  2. UUID与时间戳

    /** * 32位去除'-'的UUID */ public static String getUUID() { String uuid = java.util.UUID.randomUUID().to ...

  3. sql语句查询去除重复语句的结果集

    返回operation表中time列的唯一值 语句1 select  time  from  operation   group  by  time   having count(time) > ...

  4. android 9.0 http无法访问问题

    在res/xml下新建network-security-config.xml <?xml version="1.0" encoding="utf-8"?& ...

  5. 5-7 学生cpp成绩统计

    完成“学生cpp成绩计算”之后,修改Person和Student类,各自增加两个无参构造函数. 仍以Person类为基础,建立一个派生类Teacher,增加以下成员数据: int ID;//教师工号 ...

  6. ioctl函数的使用之查看终端屏幕大小

    要想查看一个终端屏幕的大小,可以使用ioctl()函数,步骤如下. 1.首先找到对应终端的文件号,一般在   /dev/pts/....(0,1,2..).具体几号需要自己验证.如在pts目录下使用命 ...

  7. idea出现 Unable to open debugger port (127.0.0.1:xxxx): java.net.SocketException "socket closed" 解决方案

    第一种:重启电脑,太费劲: 第二种: 1)根据端口号找到进程pid netstat -aon|findstr "1099" 2)杀掉进程pid即可 netstat -aon|fin ...

  8. go proxy转发工作中碰到的问题

    A-B 需求是一个中转 A-Proxy-B 读取来源请求A,在proxy读取body作些处理,再转给B,再把返回内容转给A 问题出在proxy这里 如果先把请求给B,再读body res, err : ...

  9. leaflet加载各种地图

    Leaflet调用各种地图的功能十分复杂,幸好有leaflet.ChineseTmsProviders这个插件,这四种地图直接就可以加载进来,十分方便. 下面是我做的例子: <!DOCTYPE ...

  10. Javascript面试题&知识点汇总

    问题&答案 什么时候 a ==1 && a== 2 && a==3 为 true? var a = { i: 1, toString: function () ...