• 关于 命令语言错误如何解决 的搜索结果

问题

使用日期参数执行存储过程:命令对象与连接对象

心有灵_夕 2019-12-28 23:52:19 1 浏览量 回答数 1

回答

显然,需要确定该命令违反MySQL语法的方式。这听起来似乎很难理解,但是MySQL确实在努力为我们提供帮助。我们需要做的就是…… 阅读消息! MySQL的不仅告诉我们准确,语法分析器中遇到的语法错误,也使得一个建议用于固定它。例如,考虑以下SQL命令: UPDATE my_table WHERE id=101 SET name='foo' 该命令产生以下错误消息: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id=101 SET name='foo'' at line 1 MySQL告诉我们,一切似乎都可以实现WHERE,但是随后遇到了问题。换句话说,它并不期望WHERE在那时遇到。 仅显示消息的...near '' at line...意思是意外结束了命令的结尾:也就是说,在命令结束之前应该出现其他内容。 检查命令的实际文本! 程序员通常使用编程语言创建SQL命令。例如,一个php程序可能有这样的(错误)行: $result = $mysqli->query("UPDATE " . $tablename ."SET name='foo' WHERE id=101"); 如果您将此写成两行 $query = "UPDATE " . $tablename ."SET name='foo' WHERE id=101" $result = $mysqli->query($query); 那么您可以添加echo $query;或var_dump($query)查看查询实际是否显示 UPDATE userSET name='foo' WHERE id=101 通常,您会立即看到错误并能够解决。 服从命令! MySQL还建议我们“ 检查与我们的MySQL版本相对应的手册以使用正确的语法 ”。来做吧。 我正在使用MySQL v5.6,因此我将转向该版本的手册中的UPDATEcommand。页面上的第一件事是命令的语法(对于每个命令都是如此): UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] 该手册介绍如何解释下这句法排版和语法约定,但对我们而言这足以认识到:条款包含在方括号中[和]是可选的; 竖线|表示替代方案;和省略号...表示为简洁起见,或者可以重复前面的条款。 我们已经知道,解析器认为我们命令中的所有内容都可以在WHERE关键字之前使用,或者换句话说,直到并包括表引用。查看语法,我们看到table_reference必须在其后跟SET关键字:而在我们的命令中,实际上是WHERE关键字。这解释了为什么解析器报告此时遇到了问题。来源:stack overflow

保持可爱mmm 2020-05-10 16:59:15 0 浏览量 回答数 0

问题

2018python技术问答集锦,希望能给喜欢python的同学一些帮助

技术小能手 2019-12-01 19:31:10 2040 浏览量 回答数 2

新用户福利专场,云服务器ECS低至96.9元/年

新用户福利专场,云服务器ECS低至96.9元/年

回答

真逗,还有这样设计 TCP 的吗? PROTOCOL,一定要设计 PROTOCOL。如何你不会,最简单的就是用高层 HTTP 1.0 keep-alive. send - recv 是一一对应的。你发送几次,就应该返回几次包。send 位于发送队列,而 recv 也位于接收队列。每个包的协议结构都应该符合预期,否则就是 Exception,就应该 close 重新 connect。   ######对哒~######tcp是可靠的,这种情况你要自己在应用层做crc###### 技术简介 json-rpc是基于json的跨语言远程调用协议,比xml-rpc、webservice等基于文本的协议传输数据格小;相对hessian、java-rpc等二进制协议便于调试、实现、扩展,是非常优秀的一种远程调用协议。目前主流语言都已有json-rpc的实现框架,java语言中较好的json-rpc实现框架有jsonrpc4j、jpoxy、json-rpc。三者之中jsonrpc4j既可独立使用,又可与spring无缝集合,比较适合于基于spring的项目开发。 一、JSON-RPC协议描述 json-rpc协议非常简单,发起远程调用时向服务端传输数据格式如下:    { "method": "sayHello", "params": ["Hello JSON-RPC"], "id": 1} 参数说明: method: 调用的方法名 params: 方法传入的参数,若无参数则传入 [] id : 调用标识符,用于标示一次远程调用过程 服务器其收到调用请求,处理方法调用,将方法效用结果效应给调用方;返回数据格式: {   "result": "Hello JSON-RPC",   "error": null,   "id": 1 } 参数说明: result: 方法返回值,若无返回值,则返回null。若调用错误,返回null。 error :调用时错误,无错误返回null。 id : 调用标识符,与调用方传入的标识符一致。 以上就是json-rpc协议规范,非常简单,小巧,便于各种语言实现。 ######异步通过协议设计来实现,就是每一个包都编一个唯一的编号,收发都带上,这样就知道是否收到你要的了。 看上面 json-rpc 的设计,多么简单,就是一个 id 解决。 ######客户提供的Modbus TCP协议;TCP包既然在网络上发,总有掉包的情况;返回的数据只有设备地址和字节数+字节;没有寄存器起始地址;所以单看返回数据是不能分辨的;一定要结合发送请求命令来解释接收的数据######Modbus好像是问答方式,每次只问一条指令,等待回复后再问下一条,等不到就超时处理,不会出现连续发送多个命令的情况啊,这种情况同步处理是比较方便的。在485串口通信比较合适,tcp通信可以采用异步或并发,Modbus效率就比较低了。######请搜索开源构架 通用数据通信socket

爱吃鱼的程序员 2020-06-04 16:19:57 0 浏览量 回答数 0

回答

Kotlin的简介 Kotlin是由JetBrains公司(IDEA开发者)所开发的编程语言,其名称来自于开发团队附近的科特林岛。 多平台开发 JVM :Android; Server-Side Javascript:前端 Native(beta) :开发原生应用 windows、macos、linux Swift与Kotlin非常像 http://nilhcem.com/swift-is-like-kotlin/ kotlin发展历程 image.png java发展历程 image.png JVM语言的原理 image.png JVM规范与java规范是相互独立的 只要生成的编译文件匹配JVM字节码规范,任何语言都可以由JVM编译运行. Kotlin也是一种JVM语言,完全兼容java,可以与java相互调用;Kotlin语言的设计受到Java、C#、JavaScript、Scala、Groovy等语言的启发 kotlin的特性 下面不会罗列kotlin中具体的语法,会介绍我认为比较重要的特性,以及特性背后的东西。 类型推断 空类型设计 函数式编程 类型推断 image.png 类型推断是指编程语言中在编译期自动推导出值的数据类型。推断类型的能力让很多编程任务变得容易,让程序员可以忽略类型标注的同时仍然允许类型检查。 在开发环境中,我们往往写出表达式,然后可以用快捷键来生成变量声明,往往都是很准的,这说明了编译器其实是可以很准确的推断出来类型的。编程语言所具备的类型推断能力可以把类型声明的任务由开发者转到了编译器. java中声明变量的方式是类型写在最前面,后面跟着变量名,这就迫使开发者在声明变量时就要先思考变量的类型要定义成什么,而在一些情况下比如使用集合、泛型类型的变量,定义类型就会变得比较繁琐。 Kotlin中声明变量,类型可以省略,或者放到变量名后面,这可以降低类型的权重,从必选变为可选,降低开发者思维负担。java10中也引入了类型推断。 Javascript中声明变量也是用关键字var,但是还是有本质区别的,Kotlin中的类型推断并不是变成动态类型、弱类型,类型仍然是在编译期就已经决定了的,Kotlin仍然是静态类型、强类型的编程语言。javascript由于是弱类型语言,同一个变量可以不经过强制类型转换就被赋不同数据类型的值, 编程语言的一个趋势就是抽象程度越来越高,编译器做更多的事情。 空类型设计 空类型的由来 image.png 托尼·霍尔(Tony Hoare),图灵奖得主 托尼·霍尔是ALGOL语言的设计者,该语言在编程语言发展历史上非常重要,对其他编程语言产生重大影响,大多数近代编程语言(包括C语言)皆使用类似ALGOL的语法。他在一次大会上讨论了null应用的设计: “我把 null 引用称为自己的十亿美元错误。它的发明是在1965 年,那时我用一个面向对象语言( ALGOL W )设计了第一个全面的引用类型系统。我加入了null引用设计,仅仅是因为实现起来非常容易。它导致了数不清的错误、漏洞和系统崩溃,可能在之后 40 年中造成了十亿美元的损失。” null引用存在的问题 以java为例,看null引用的设计到底存在哪些问题 空指针问题NPE 编译时不能对空指针做出检查,运行时访问null对象就会出现错误,这个就是工程中常见的空指针异常。 null本身没有语义,会存在歧义 值未被初始化 值不存在 也许表示一种状态 逻辑上有漏洞 Java中,null可以赋值给任何引用,比如赋值给String类型变量,String a = null,但是null并不是String类型: a instanceof String 返回的是false,这个其实是有些矛盾的。所以当持有一个String类型的变量,就存在两种情况,null或者真正的String. 解决NPE的方式 防御式代码 在访问对象前判空,但会有冗余代码;会规避问题,而隐藏真正的问题 抛出异常给调用方处理 方法中传参传入的空值、无效值,抛出受检查异常给上层调用方 增加注解 Android中可以增加@NonNull注解,编译时做额外检查 空状态对象设计模式 空状态对象是一个实现接口但是不做任何业务逻辑的对象,可以取代判空检查;这样的空状态对象也可以在数据不可用的时候提供默认的行为 java8 Optional类 java8中引入了Optional类,来解决广泛存在的null引用问题.官方javadoc文档介绍 A container object which may or may not contain a non-null value. If a value is present, isPresent() will return true and get() will return the value. Additional methods that depend on the presence or absence of a contained value are provided, such as orElse() (return a default value if value not present) and ifPresent() (execute a block of code if the value is present). 来看一下是如何实现的。 举一个访问对象读取熟悉的例子 java 8 之前 : image.png java 8: image.png 总结: 1.用Optional还是会比较繁琐,这个也说明了设计一个替代null的方案还是比较难的。 optional的耗时大约是普通判空的数十倍,主要是涉及泛型、使用时多创键了一个对象的创建;数据比较大时,会造成性能损失。 java8 引入Optional的意义在于提示调用者,用特殊类型包装的变量可能为空,在使用取出时需要判断 Kotlin的空类型设计 Kotlin中引入了可空类型和不可空类型的区分,可以区分一个引用可以容纳null,还是不能容纳null。 String vs String? String 类型表示变量不能为空,String?则表示变量可以为空 String?含义是String or null.这两种是不同的类型. 比如: var a:String = “abc” //ok var a:String = null //不允许 var b :String? = null //ok a=b // 不允许 String?类型的值不能给String类型的值赋值 这样就将类型分成了可空类型和不可能类型,每一个类型都有这样的处理;Kotlin中访问非空类型变量永远不会出现空指针异常。 同样上面的例子,采用Kotlin去写,就会简洁很多 image.png 编程范式-函数式编程 编程范式是什么? 编程范式是程序员看待程序和写程序的观点 主要的类型 非结构化编程 结构化编程 面向对象编程 命令式编程 函数式编程 这些类型并不是彼此互斥的,而是按照不同的维度做的划分,一种编程语言可能都支持多个编程范式 非结构化编程 第一代的高级语言往往是非结构化编程 比如 BASIC语言 每一行的代码前面都有一个数字作为行号,通常使用GOTO的跳跃指令来实现判断和循环. 看一下下面这段代码是做什么的: image.png 实际上做的是:程序在屏幕上显示数字 1 到 10 及其对应的平方 采用这种方式写程序,大量的使用goto实现逻辑的跳转,代码一长,可读性和维护性就比较差了,形成“面条式代码” 结构化编程 采用顺序、分支、循环结构来表达,禁用或者少用GOTO; 并用子程序来组织代码,采用自顶向下的方式来写程序 代表语言是C语言 实现同样的逻辑: image.png 可见采用结构化编程,代码的逻辑会更清晰。 面向对象编程 思想: 将计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。 特性: 封装性、继承性、多态性。 命令式编程 把计算机程序视为一系列的命令集合 主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。 “先做这,再做那”,强调“怎么做” 实现: 用变量来储存数据,用语句来执行指令,改变变量状态。 基本所有的常见的编程语言都具有此范式 函数式编程 声明式语法,描述要什么,而不是怎么做 类似于SQL语句 语言: kotlin swift python javascript scala 函数是第一等公民 可以赋值给变量,可作为参数传入另一个函数,也可作为函数的返回值 纯函数 y=f(x) 只要输入相同,返回值不变 没有副作用:不修改函数的外部状态 举个栗子 公司部门要进行outing,去哪里是个问题,要考虑多个因素,比如花费、距离、天数等等,有多个备选地点进行选择。 定义一个数据类: image.png 要进行筛选了,分别用sql,kotlin,java来实现 找出花费低于2000元的outing地点信息 SQL image.png Kotlin image.png java 7 image.png 可见kotin的写法还是比较接近于sql的思想的,声明式的写法,而不管具体如何实现;其中的:place->place.money<2000 就是函数,可以作为参数传递给fliter这个高阶函数;而且这个函数没有副作用,不改变外部状态。 再来一个复杂一点的: 找出花费低于5000元,时间不多于4天,按照距离排序的outing地点名称 SQL image.png Kotlin: image.png java 7 image.png 由此可见用kotlin的函数式写法,会更简洁,逻辑也更清晰,这段代码的目标一目了然,这种清晰在于实现了业务逻辑与控制逻辑的分离,业务逻辑就是由函数实现的,比如place->place.money<500,而控制逻辑是由filter,sorterBy等高阶函数实现的。 而java的传统写法是基于对数据的操作,避免不了遍历的操作,业务逻辑与控制逻辑交织在了一起,这段代码的目的就不是那么容易清晰看到的了。 总结 kotlin是实用的现代编程语言,吸收了众多编程语言的优点,支持类型推断、空类型安全、函数式编程、DSL等特性,非常值得学习和使用。

问问小秘 2020-04-30 16:33:40 0 浏览量 回答数 0

问题

极光推送一个朋友,三四天的Rails学习之路? 报错

优选2 2020-06-04 21:19:39 3 浏览量 回答数 1

问题

极光推送一个朋友,三四天的Rails学习之路? 400 报错

爱吃鱼的程序员 2020-06-02 13:32:16 0 浏览量 回答数 1

问题

极光推送一个朋友,三四天的Rails学习之路? 400 报错

爱吃鱼的程序员 2020-05-29 19:26:23 0 浏览量 回答数 1

问题

【精品问答】带你进入数据库领域

谙忆 2020-04-07 20:45:48 12 浏览量 回答数 1

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:12 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:11 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:12 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:12 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:13 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:13 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:11 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:13 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:11 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:11 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:11 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:12 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 简介 OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。 说明 生产环境请使用oss sdk, OSS FTP工具主要面向个人用户使用。 主要特性 跨平台:无论是Windows、Linux还是Mac, 无论是32位还是64位操作系统,无论是图形界面还是命令行都可以运行。 免安装: 解压后可直接运行。 免设置:无需设置即可运行。 透明化: FTP工具是python写的,您可以看到完整的源码,我们稍后也会开源到Github。 主要功能 支持文件和文件夹的上传、下载、删除等操作。 通过Multipart方式,分片上传大文件。 支持大部分FTP指令,可以满足日常FTP的使用需求。 说明 目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具没有支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。 不支持rename和move操作。 安装包解压后的路径不要含有中文。 FTP server的管理控制页面在低版本的IE中可能打不开。 FTP server支持的Python版本:Python2.6和Python2.7。 下载 Windows:ossftp-1.0.3-win.zip 由于Windows不会默认安装Python2.7,所以安装包中包含了Python2.7,免去您python安装配置的麻烦,解压即可使用。 Linux/Mac:ossftp-1.0.3-linux-mac.zip 由于Linux/Mac系统默认会安装Python2.7或Python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。 运行 首先解压之前下载的文件,然后根据环境情况选择不同的运行方式。 Windows: 双击运行start.vbs即可 Linux: 打开终端,运行$ bash start.sh Mac:双击start.command,或者在终端运行$ bash start.command 上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面,如下所示: 说明 大部分情况不要任何配置,就可以运行一个FTP server了,如果想对FTP server进行配置, 请注意需要重启才能生效。 连接到FTP server 推荐使用FileZilla客户端去连接FTP server。下载安装后,按如下方式连接即可: 主机: 127.0.0.1 登录类型: 正常 用户:access_key_id/bucket_name 密码:access_key_secret 说明 用户中,/是必须的,如用户tSxyiUM3NKswPMEp/test-hz-jh-002。 access_key_id和access_key_secret的获取,请参见OSS访问控制。 高级使用 通过控制页面管理FTP server 修改监听地址 如果需要通过网络来访问FTP server, 那么需要修改监听地址,因为默认的监听地址127.0.0.1只允许来自本地的访问。可以修改成内网ip或公网ip。 修改监听端口 修改FTP server监听的端口, 建议端口大于1024, 因为监听1024以下的端口时需要管理员权限。 修改日志等级 设置FTP server的日志级别。FTP server的日志会输出到data/ossftp/目录下, 可以通过控制页面的日志按钮在线查看。默认的日志界别为INFO, 打印的日志信息较少,如果需要更详细的日志信息,可以修改为DEBUG模式。如果希望减少日志的输出,可以设置级别为WARNING或ERROR等。 设置Bucket endpoints FTP server默认会探索bucket的所属location信息,随后将请求发到对应的region(如oss-cn-hangzhou.aliyuncs.com或oss-cn-beijing.aliyuncs.com),FTP server会优先尝试内网访问oss。如果您设置了bucket endpoints, 如设置为test-bucket-a.oss-cn-hangzhou.aliyuncs.com, 那么当访问test-bucket-a时,就会使用oss-cn-hangzhou.aliyuncs.com域名。 设置显示语言 通过设置cn/en,可修改FTP控制页面的显示语言为中文/英文。 说明 所有修改都需要重启才能生效。 上述的所有修改其实都是修改的ftp根目录下的config.json, 所以您可以直接修改该文件。 直接启动FTP server(Linux/Mac) 可以直接启动ossftp目录下的ftpserver.py, 免去web_server的开销。 $ python ossftp/ftpserver.py &配置修改方式同上。 可能遇到的问题 如果连接FTP server时,遇到以下错误: 有两种可能: 输入的 access_key_id 和 access_key_secret有误。 解决:请输入正确的信息后再重试。 所用的access_key信息为ram 子账户的access_key,而子账户不具有List buckets权限。 解决:当使用子账户访问时,请在控制页面中指定bucket endpoints, 即告诉FTP server某个bucket应该用什么endpoint来访问。同时,子账户也需要一些必须的权限,关于使用ram访问oss时的访问控制,请参考文档访问控制。具体如下。 只读访问 OSS FTP工具需要的权限列表为 ListObjects、GetObject、HeadObject。关于如何创建一个具有只读访问的ram子账户,请参考图文教程如何结合ram实现文件共享。 上传文件 如果允许ram子账户上传文件,还需要PutObject。 删除文件 如果允许ram子账户删除文件,还需要DeleteObject。 如果您在Linux下运行FTP server,然后用FileZilla连接时遇到如下错误:501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)一般是因为本地的中文编码有问题。在将要运行start.sh的终端中输入下面的命令,然后再重新启动即可。$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale

2019-12-01 23:15:10 0 浏览量 回答数 0

问题

【精品问答】大数据计算技术1000问

问问小秘 2019-12-01 21:57:13 3431 浏览量 回答数 1

问题

【教程免费下载】Hack与HHVM权威指南

玄学酱 2019-12-01 22:07:50 1680 浏览量 回答数 1

问题

【精品问答】Java技术1000问(1)

问问小秘 2019-12-01 21:57:43 34170 浏览量 回答数 10

问题

健康检查常见问题

行者武松 2019-12-01 21:43:15 3573 浏览量 回答数 0

问题

Vue面试题汇总【精品问答】

问问小秘 2020-05-25 18:02:28 7911 浏览量 回答数 2

回答

JavaScript (ECMAScript) :JavaScript 是脚本语言。JavaScript和ECMAScript通常被人用来表达相同的含义,但是JavaScript并不是这么一点含义,它是由ECMAScript 核心. DOM 文档对象模型. BOM 浏览器对象模型 这三部分组成。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。 组成部分包括语法,类型,语句,关键字,保留字,操作符,对象。 其中,文档对象模型(DOM , Document Object Model)是针对XML但是经过拓展用于HTML的应用程序编程接口。DOM把整个页面映射为一个多层节点结构,开发人员借助DOM Api对节点进行操作。可以通过浏览器F12进入开发者模式,查看层级关系。当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 模型被构造为对象的树。通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。 功能大致上: · JavaScript 能够改变页面中的所有 HTML 元素 · JavaScript 能够改变页面中的所有 HTML 属性 · JavaScript 能够改变页面中的所有 CSS 样式 · JavaScript 能够对页面中的所有事件做出反应 同时,浏览器对象模型(Browser Object Model)使用BOM控制浏览器显示页面意外的部分。 javaScript脚本加载方式 1 通过在网页中加入标记JavaScript的开始和结束,将JavaScript代码放到之间 2 也可以引入一个外部的JavaScript文件,这个JavaScript文件一般以.js作为扩展名 3 原则上,放在之间。但视情况可以放在网页的任何部分 4 一个页面可以有几个,不同部分的方法和变量,可以共享。 javaScript语句开发 (1)对大小写敏感 (2)自动忽略多余的空格 (3)在文本字符串中使用反斜杠对代码行进行换行 (4)单行注释(//)多行注释(/* */) JavaScript 是一个程序语言。语法规则定义了语言结构。 JavaScript 字面量 在编程语言中,一般固定值称为字面量,如 3.14。 数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e)。 字符串(String)字面量 可以使用单引号或双引号: 数组(Array)字面量 定义一个数组: [40, 100, 1, 5, 25, 10] 对象(Object)字面量 定义一个对象: {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"} 函数(Function)字面量 定义一个函数: function myFunction(a, b) { return a * b;} **JavaScript 变量 ** 在编程语言中,变量用于存储数据值。 JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值: var x, length x = 5 length = 6 JavaScript 操作符 JavaScript使用 算术运算符 来计算值: (5 + 6) * 10 JavaScript使用赋值运算符给变量赋值: x = 5 y = 6 z = (x + y) * 10 JavaScript语言有多种类型的运算符: JavaScript 语句 在 HTML 中,JavaScript 语句向浏览器发出的命令。 语句是用分号分隔: x = 5 + 6; y = x * 10; JavaScript 关键字 JavaScript 关键字用于标识要执行的操作。 和其他任何编程语言一样,JavaScript 保留了一些关键字为自己所用。 var 关键字告诉浏览器创建一个新的变量: var x = 5 + 6; var y = x * 10; JavaScript 同样保留了一些关键字,这些关键字在当前的语言版本中并没有使用,但在以后 JavaScript 扩展中会用到。 以下是 JavaScript 中最重要的保留字(按字母顺序): JavaScript 注释 不是所有的 JavaScript 语句都是"命令"。双斜杠 // 后的内容将会被浏览器忽略: // 我不会执行 JavaScript 数据类型 JavaScript 有多种数据类型:数字,字符串,数组,对象等等: var length = 16; // Number 通过数字字面量赋值 var points = x * 10; // Number 通过表达式字面量赋值 var lastName = "Johnson"; // String 通过字符串字面量赋值 var cars = ["Saab", "Volvo", "BMW"]; // Array 通过数组字面量赋值 var person = {firstName:"John", lastName:"Doe"}; // Object 通过对象字面量赋值 数据类型的概念 编程语言中,数据类型是一个非常重要的内容。 为了可以操作变量,了解数据类型的概念非常重要。 如果没有使用数据类型,以下实例将无法执行: 16 + "Volvo" 16 加上 "Volvo" 是如何计算呢? 以上会产生一个错误还是输出以下结果呢? "16Volvo" 你可以在浏览器尝试执行以上代码查看效果。 在接下来的章节中你将学到更多关于数据类型的知识。 JavaScript 函数 JavaScript 语句可以写在函数内,函数可以重复引用: 引用一个函数 = 调用函数(执行函数内的语句)。 function myFunction(a, b) { return a * b; // 返回 a 乘以 b 的结果 } JavaScript 字母大小写 JavaScript 对大小写是敏感的。 当编写 JavaScript 语句时,请留意是否关闭大小写切换键。 函数 getElementById 与 getElementbyID 是不同的。 同样,变量 myVariable 与 MyVariable 也是不同的。 JavaScript 字符集 JavaScript 使用 Unicode 字符集。 Unicode 覆盖了所有的字符,包含标点等字符。 三 推荐学习网站 JS具体的语法内容还有很多,可以参考官方API或者学习网站完成掌握,简单易学,推荐网站 菜鸟教程:https://www.runoob.com/js/js-tutorial.html w3cschool:https://www.w3school.com.cn/js/index.asp 四 推荐学习书籍 引用自 https://www.cnblogs.com/xhqq/p/7561384.html 个人觉得不错的,没事可以翻翻的。书籍如下: 《javascript设计模式》,张容铭写的,可能不太适合零基础的,是非常不错的进阶书籍。 《javascript面向对象编程指南》,风格轻松易懂,比较适合初学者,原型那块儿讲得透彻,12种继承方式呢。 《js权威指南》、《js高级程序设计》,这两本书经典是经典,但是太厚,适合把其中任意一章都当成一本书来读。洋洋洒洒,很难一口气看完。比较适合当做参考书。 《你不知道的javascript》狙击js核心细节,闭包、原型、this讲得都还清楚。 《js设计模式与开发实践》js设计模式也是要学的,此书把js的设计模式讲得非常清晰,一点不晦涩,看起来没多少难度。 《正则指引》,分析源码时,如果正则表达式不懂,没法进行下去的。此书相对来说讲得比较清晰。 《基于MVC的JavaScript Web富应用开发》,看完后,基本能写出自己的mvc框架了。是本好书。 《javascript函数式编程》,js是一门函数式语言,此书是函数式编程一个入门,函数是一等公民那是非常重要的。 《js忍者秘籍》,jq作者写的,没有传说中的那么难读,话说就算你看完并理解所有知识点,也不会达到世界高手级别的。因为你还没有做到随心所欲。 《javascript框架设计》,如果初看此书,会觉得此书有罗列代码之嫌。在我看来,此书讲究的是框架的全局观。以上书籍是我认为是成就高手之路上必须看的,也需要反复看。 css相关的书籍,说实话我看得比较少,总共有六七本吧。有两本必须推荐一下: 《css权威指南》,css基础知识点那是讲得非常清楚的。什么层叠优先级、line-height啥的。不是随便一本书都敢叫“权威指南”的。 《css揭秘》,此书我也是不断的看,此书才不屑于全面讲css3各属性呢。css规范文档能讲的,它只会讲你最不在意的。此书解决的47问题,解决思路和解决方案同等重要,很有启发性。以上各书你都可以不买,至少买本此书吧

问问小秘 2020-03-03 09:32:57 0 浏览量 回答数 0

回答

本文总结了常见的 Linux 内核参数及相关问题。修改内核参数前,您需要: 从实际需要出发,最好有相关数据的支撑,若您的业务没有受到影响不建议调整内核参数。 了解每一个参数的具体作用,并且同类型或版本操作系统下内核参数可能有所不同。 备份 ECS 实例中的重要数据。参阅文档 创建快照。 Linux 常用内核网络参数 参数 描述 net.core.rmem_default 默认的 TCP 数据接收窗口大小(字节)。 net.core.rmem_max 最大的 TCP 数据接收窗口(字节)。 net.core.wmem_default 默认的 TCP 数据发送窗口大小(字节)。 net.core.wmem_max 最大的 TCP 数据发送窗口(字节)。 net.core.netdev_max_backlog 在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 net.core.somaxconn 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。 net.core.optmem_max 表示每个套接字所允许的最大缓冲区的大小。 net.ipv4.tcp_mem 确定 TCP 栈应该如何反映内存使用,每个值的单位都是内存页(通常是 4KB)第一个值是内存使用的下限;第二个值是内存压力模式开始对缓冲区使用应用压力的上限;第三个值是内存使用的上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。对于较大的 BDP 可以增大这些值(注意:其单位是内存页而不是字节)。 net.ipv4.tcp_rmem 为自动调优定义 socket 使用的内存。第一个值是为 socket 接收缓冲区分配的最少字节数;第二个值是默认值(该值会被 rmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是接收缓冲区空间的最大字节数(该值会被 rmem_max 覆盖)。 net.ipv4.tcp_wmem 为自动调优定义 socket 使用的内存。第一个值是为 socket 发送缓冲区分配的最少字节数;第二个值是默认值(该值会被 wmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是发送缓冲区空间的最大字节数(该值会被 wmem_max 覆盖)。 net.ipv4.tcp_keepalive_time TCP 发送 keepalive 探测消息的间隔时间(秒),用于确认 TCP 连接是否有效。 net.ipv4.tcp_keepalive_intvl 探测消息未获得响应时,重发该消息的间隔时间(秒)。 net.ipv4.tcp_keepalive_probes 在认定 TCP 连接失效之前,最多发送多少个 keepalive 探测消息。 net.ipv4.tcp_sack 启用有选择的应答(1 表示启用),通过有选择地应答乱序接收到的报文来提高性能,让发送者只发送丢失的报文段,(对于广域网通信来说)这个选项应该启用,但是会增加对 CPU 的占用。 net.ipv4.tcp_fack 启用转发应答,可以进行有选择应答(SACK)从而减少拥塞情况的发生,这个选项也应该启用。 net.ipv4.tcp_timestamps TCP 时间戳(会在 TCP 包头增加 12 B),以一种比重发超时更精确的方法(参考 RFC 1323)来启用对 RTT 的计算,为实现更好的性能应该启用这个选项。 net.ipv4.tcp_window_scaling 启用 RFC 1323 定义的 window scaling,要支持超过 64KB 的 TCP 窗口,必须启用该值(1 表示启用),TCP 窗口最大至 1GB,TCP 连接双方都启用时才生效。 net.ipv4.tcp_syncookies 表示是否打开 TCP 同步标签(syncookie),内核必须打开了 CONFIG_SYN_COOKIES 项进行编译,同步标签可以防止一个套接字在有过多试图连接到达时引起过载。默认值 0 表示关闭。 net.ipv4.tcp_tw_reuse 表示是否允许将处于 TIME-WAIT 状态的 socket (TIME-WAIT 的端口)用于新的 TCP 连接。 net.ipv4.tcp_tw_recycle 能够更快地回收 TIME-WAIT 套接字。 net.ipv4.tcp_fin_timeout 对于本端断开的 socket 连接,TCP 保持在 FIN-WAIT-2 状态的时间(秒)。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。 net.ipv4.ip_local_port_range 表示 TCP/UDP 协议允许使用的本地端口号。 net.ipv4.tcp_max_syn_backlog 对于还未获得对方确认的连接请求,可保存在队列中的最大数目。如果服务器经常出现过载,可以尝试增加这个数字。默认为 1024。 net.ipv4.tcp_low_latency 允许 TCP/IP 栈适应在高吞吐量情况下低延时的情况,这个选项应该禁用。 net.ipv4.tcp_westwood 启用发送者端的拥塞控制算法,它可以维护对吞吐量的评估,并试图对带宽的整体利用情况进行优化,对于 WAN 通信来说应该启用这个选项。 net.ipv4.tcp_bic 为快速长距离网络启用 Binary Increase Congestion,这样可以更好地利用以 GB 速度进行操作的链接,对于 WAN 通信应该启用这个选项。 net.ipv4.tcp_max_tw_buckets 该参数设置系统的 TIME_WAIT 的数量,如果超过默认值则会被立即清除。默认为 180000。 net.ipv4.tcp_synack_retries 指明了处于 SYN_RECV 状态时重传 SYN+ACK 包的次数。 net.ipv4.tcp_abort_on_overflow 设置改参数为 1 时,当系统在短时间内收到了大量的请求,而相关的应用程序未能处理时,就会发送 Reset 包直接终止这些链接。建议通过优化应用程序的效率来提高处理能力,而不是简单地 Reset。默认值: 0 net.ipv4.route.max_size 内核所允许的最大路由数目。 net.ipv4.ip_forward 接口间转发报文。 net.ipv4.ip_default_ttl 报文可以经过的最大跳数。 net.netfilter.nf_conntrack_tcp_timeout_established 让 iptables 对于已建立的连接,在设置时间内若没有活动,那么则清除掉。 net.netfilter.nf_conntrack_max 哈希表项最大值。 查看和修改 Linux 实例内核参数 方法一、通过 /proc/sys/ 目录 /proc/sys/ 目录是 Linux 内核在启动后生成的伪目录,其目录下的 net 文件夹中存放了当前系统中生效的所有内核参数、目录树结构与参数的完整名称相关,如 net.ipv4.tcp_tw_recycle,它对应的文件是 /proc/sys/net/ipv4/tcp_tw_recycle,文件的内容就是参数值。 查看内核参数:使用 cat 查看对应文件的内容,例如执行命令 cat /proc/sys/net/ipv4/tcp_tw_recycle 查看 net.ipv4.tcp_tw_recycle 的值。 修改内核参数:使用 echo 修改内核参数对应的文件,例如执行命令 echo "0" > /proc/sys/net/ipv4/tcp_tw_recycle 将 net.ipv4.tcp_tw_recycle 的值修改为 0。 注意:方法一修改的参数值仅在当次运行中生效,系统重启后会回滚历史值,一般用于临时性的验证修改的效果。若需要永久性的修改,请参阅方法二。 方法二、通过 sysctl.conf 文件 查看内核参数:执行命令 sysctl -a 查看当前系统中生效的所有参数,如下所示: net.ipv4.tcp_app_win = 31 net.ipv4.tcp_adv_win_scale = 2 net.ipv4.tcp_tw_reuse = 0 net.ipv4.tcp_frto = 2 net.ipv4.tcp_frto_response = 0 net.ipv4.tcp_low_latency = 0 net.ipv4.tcp_no_metrics_save = 0 net.ipv4.tcp_moderate_rcvbuf = 1 net.ipv4.tcp_tso_win_divisor = 3 net.ipv4.tcp_congestion_control = cubic net.ipv4.tcp_abc = 0 net.ipv4.tcp_mtu_probing = 0 net.ipv4.tcp_base_mss = 512 net.ipv4.tcp_workaround_signed_windows = 0 net.ipv4.tcp_challenge_ack_limit = 1000 net.ipv4.tcp_limit_output_bytes = 262144 net.ipv4.tcp_dma_copybreak = 4096 net.ipv4.tcp_slow_start_after_idle = 1 net.ipv4.cipso_cache_enable = 1 net.ipv4.cipso_cache_bucket_size = 10 net.ipv4.cipso_rbm_optfmt = 0 net.ipv4.cipso_rbm_strictvalid = 1 修改内核参数: 执行命令   /sbin/sysctl -w kernel.domainname="example.com"  来修改指定的参数值,如 sysctl -w net.ipv4.tcp_tw_recycle="0" 执行命令   vi /etc/sysctl.conf  修改   /etc/sysctl.conf  文件中的参数。 执行命令   /sbin/sysctl -p  使配置生效。 Linux 网络相关内核参数引发的常见问题及处理 问题现象 原因分析 解决方案 无法在本地网络环境通过 SSH 连接 ECS Linux 实例,或者访问该 Linux 实例上的 HTTP 业务出现异常。Telnet 测试会被 reset。 如果您的本地网络是 NAT 共享方式上网,该问题可能是由于本地 NAT 环境和目标 Linux 相关内核参数配置不匹配导致。尝试通过修改目标 Linux 实例内核参数来解决问题:1. 远程连接目标 Linux 实例;2. 查看当前配置: cat /proc/sys/net/ipv4/tcp_tw_recyclecat /proc/sys/net/ipv4/tcp_timestamps 查看上述两个配置的值是不是 0,如果为 1的话,NAT 环境下的请求可能会导致上述问题。 通过如下方式将上述参数值修改为 0:1. 执行命令 vi /etc/sysctl.conf。2. 添加如下内容:net.ipv4.tcp_tw_recycle=0net.ipv4.tcp_timestamps=0。3. 输入指令 # sysctl -p 使配置生效。4. 重新 SSH 登录实例或者业务访问测试。 服务端 A 与 客户端 B 建立了 TCP 连接,之后服务端 A 主动断开了连接,但是在客户端 B 上仍然看到连接是建立的。示例见图一,图二。 通常是由于修改了服务端内核参数 net.ipv4.tcp_fin_timeout 默认设置所致。 1. 执行命令 vi /etc/sysctl.conf,修改配置:net.ipv4.tcp_fin_timeout=30。2. 执行命令 # sysctl -p 使配置生效。 通过 netstat 或 ss 可以看到大量处于 TIME_WAIT 状态的连接。 通过 netstat -n | awk ‘/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}’ 查看 TIME_WAIT 数量。 1. 执行命令 vi /etc/sysctl.conf,修改或加入以下内容: net . ipv4 . tcp_syncookies = 1 net . ipv4 . tcp_tw_reuse = 1 net . ipv4 . tcp_tw_recycle = 1 net . ipv4 . tcp_fin_timeout = 30 2. 执行命令 /sbin/sysctl -p  使配置生效。 云服务器上出现大量 CLOSE_WAIT 状态的连接数。 根据实例上的业务量来判断 CLOSE_WAIT 数量是否超出了正常的范围。TCP 连接断开时需要进行四次挥手,TCP 连接的两端都可以发起关闭连接的请求,若对端发起了关闭连接,但本地没有进行后续的关闭连接操作,那么该链接就会处于 CLOSE_WAIT 状态。虽然该链接已经处于半开状态,但是已经无法和对端通信,需要及时的释放该链接。建议从业务层面及时判断某个连接是否已经被对端关闭,即在程序逻辑中对连接及时进行关闭检查。 通过命令 netstat -an|grep CLOSE_WAIT|wc -l 查看当前实例上处于 CLOSE_WAIT 状态的连接数。Java 语言:1. 通过 read 方法来判断 I/O 。当 read 方法返回 -1 时则表示已经到达末尾。2. 通过 close 方法关闭该链接。C 语言:1. 检查 read 的返回值,若是 0 则可以关闭该连接,若小于 0 则查看一下 errno,若不是 AGAIN 则同样可以关闭连接。 ECS Linux FIN_WAIT2 状态的 TCP 链接过多。 HTTP 服务中,SERVER 由于某种原因关闭连接,如 KEEPALIVE 的超时。这样,作为主动关闭的 SERVER 一方就会进入 FIN_WAIT2 状态。但 TCP/IP 协议栈中,FIN_WAIT2 状态是没有超时的(不像 TIME_WAIT 状态),如果 Client 不关闭,FIN_WAIT_2 状态将保持到系统重启,越来越多的 FIN_WAIT_2 状态会致使内核 Crash。 1. 执行命令 vi /etc/sysctl.conf,修改或加入以下内容: net . ipv4 . tcp_syncookies = 1 net . ipv4 . tcp_fin_timeout = 30 net . ipv4 . tcp_max_syn_backlog = 8192 net . ipv4 . tcp_max_tw_buckets = 5000 2. 执行命令 # sysctl -p 使配置生效。 查询服务器 /var/log/message 日志,发现全部是类似如下 kernel: TCP: time wait bucket table overflowt 的报错信息,报错提示 TCP time wait 溢出,见图三。 TCP 连接使用很高,容易超出限制。见图四。 1. 执行命令 netstat -anp |grep tcp |wc -l统计 TCP 连接数。2. 对比 /etc/sysctl.conf 配置文件的 net.ipv4.tcp_max_tw_buckets 最大值,看是否有超出情况。3. 执行命令 vi /etc/sysctl.conf,查询 net.ipv4.tcp_max_tw_buckets 参数。如果确认连接使用很高,容易超出限制。4. 调高参数 net.ipv4.tcp_max_tw_buckets,扩大限制。5. 执行命令 # sysctl -p 使配置生效。 ECS Linux 实例出现间歇性丢包的情况,通过 tracert, mtr 等手段排查,外部网络未见异常。同时,如下图所示,在系统日志中重复出现大量kernel nf_conntrack: table full, dropping packet.错误信息。见图五。 ip_conntrack 是 Linux 系统内 NAT 的一个跟踪连接条目的模块。ip_conntrack 模块会使用一个哈希表记录 TCP 通讯协议的 established connection 记录,当哈希表满了的时候,会导致 nf_conntrack: table full, dropping packet 错误。需要通过修改内核参数来调整 ip_conntrack 限制。 Centos 5.x 系统1. 使用管理终端登录实例。2. 执行命令 # vi /etc/sysctl.conf 编辑系统内核配置。3. 修改哈希表项最大值参数:net.ipv4.netfilter.ip_conntrack_max = 655350。4. 修改超时时间参数:net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1200,默认情况下 timeout 是5天(432000秒)。5. 执行命令 # sysctl -p 使配置生效。Centos 6.x 及以上系统:1. 使用管理终端登录实例。2. 执行命令 # vi /etc/sysctl.conf 编辑系统内核配置。3. 修改哈希表项最大值参数:net.netfilter.nf_conntrack_max = 655350。4. 修改超时时间参数:net.netfilter.nf_conntrack_tcp_timeout_established = 1200,默认情况下 timeout 是5天(432000秒)。5. 执行命令 # sysctl -p 使配置生效。 客户端做了 NAT 后无法访问 ECS、RDS,包括通过 SNAT VPC 访问外网的 ECS 。无法访问连接其他 ECS 或 RDS 等云产品,抓包检测发现远端对客户端发送的 SYN 包没有响应。 若远端服务器同时开启 net.ipv4.tcp_tw_recycle 和 net.ipv4.tcp_timestamps,即参数取值为 1 时,服务器会检查每一个报文的时间戳(Timestamp),若 Timestamp 不是递增的关系,则不做处理。做了 NAT 后,服务器看到来自不同的客户端的 IP 相似,但 NAT 前每一台客户端的时间可能会有偏差,在服务器上就会看到 Timestamp 不是递增的情况。 - 远端服务器为 ECS:修改参数 net.ipv4.tcp_tw_recycle 为 0。- 远端服务器为 RDS 等 PaaS 服务:RDS 无法直接修改内核参数,需要在客户端上修改参数 net.ipv4.tcp_tw_recycle 和 net.ipv4.tcp_timestamps 为 0。 参考链接 Linux man-pages kernel/git/torvalds/linux.git_proc kernel/git/torvalds/linux.git_proc_net_tcp kernel/git/torvalds/linux.git_ip-sysctl kernel/git/torvalds/linux.git_netfilter-sysctl kernel/git/torvalds/linux.git_nf_conntrack-sysctl 图一: 客户端 B TCP 连接 图二: 客户端 A TCP 连接 图三: 报错提示 TCP time wait 溢出 图四: 查询 net.ipv4.tcp_max_tw_buckets 参数 图五: ECS Linux 实例间歇性丢包

KB小秘书 2019-12-02 02:05:57 0 浏览量 回答数 0

问题

数据库百问,教你快速上手数据库

yq传送门 2019-12-01 20:16:46 29208 浏览量 回答数 21
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播