关于数据传输:玩转服务器之数据传输篇如何快速搭建FTP文件共享服务器

FTP 文件共享服务器介绍FTP服务(File Transfer Protocol,FTP)是最早利用于主机之间数据传输的根本服务之一,是目前应用最宽泛的文件传送协定。FTP文件共享服务器在日常办公中能够实现多人之间文件的传递和共享,极大进步协同办公的效率。 Vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,玲珑轻快,平安易用,反对虚构用户,反对带宽限度等性能,本文以轻量云主机(CenTOS 7.6零碎)为例,介绍如何疾速搭建FTP文件共享服务器(Vsftpd)。 二、前置筹备正式开始部署前,您需实现如下的筹备工作: 开明京东云账户,若您还未注册京东云账号,可在京东云官网进行注册;账户开明后,须要进行实名认证;购买一台或多台云主机或者轻量云主机产品;登录轻量云主机,复制上面步骤中的命令进行执行操作;上面操作步骤需主机凋谢21、4242、4243端口,请在防火墙中配置端口凋谢策略。三、搭建FTP文件共享服务器装置 vsftpd sudo yum install vsftpd 启动服务 sudo systemctl start vsftpd 设置服务主动启动 sudo systemctl enable vsftpd 备份并批改配置文件 sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default新建一个测试用户:testuser sudo adduser testuser设置testuser的明码,用于ssh登录 sudo passwd testuser把新建的用户退出用户列表 echo “testuser” | sudo tee –a /etc/vsftpd/user_list建设用户目录并受权 sudo mkdir -p /home/testuser/ftp/uploadsudo chmod 550 /home/testuser/ftpsudo chmod 750 /home/testuser/ftp/uploadsudo chown -R testuser: /home/testuser/ftp重启服务使配置失效 sudo systemctl restart vsftpd四、测试验证FTP服务器通过三方FTP连贯工具,连贯到FTP服务器,并且进行上传和下载文件。\如果连贯失败,请查看21、4242、4243端口是否在防火墙凋谢策略。 至此,FTP文件共享服务器曾经搭建实现啦,无论集体还是企业都能够搭建属于本人的FTP服务器,用来文件传输和共享。如果对于服务器有平安顾虑,能够应用加密的FTP协定SFTP或FTPS,同时增强服务器的平安设置和监管,确保文件传输的安全性和隐衷性。

June 1, 2023 · 1 min · jiezi

关于数据传输:传输体积下降-85融云-HTTP-压缩算法解析

点击图片报名社交泛娱乐出海赋能会【广州站】 在音视频通话,尤其是多人群组通话场景,过大的申请包领会导致客户端频繁报错、连贯超时等问题。关注【融云寰球互联网通信云】理解更多 为解决这一问题,融云引入并优化相干算法,使呼叫和全局双向申请传输体积降落了 85%,为用户提供更晦涩的应用体验。 业界支流压缩算法HTTP(Hypertext Transfer Protocol,超文本传输协定)是一种申请/响应式的应用层协定。客户端与服务器建设连贯后,向服务器发送一个申请;服务器接到申请后,给予相应的响应信息。 HTTP 包体支流压缩算法有 MiniSDP、Brotli、Gzip 等。 MiniSDP在进行音视频通话时,首先须要替换信令,SDP 调换就是其中的重要信息,让单方理解彼此的音视频参数及能力。所以,包体中绝大部分是 SDP 内容,即专门用于形容多媒体数据的会话形容协定。 其次要内容包含会话所有者无关的参数、会话的起始工夫和完结工夫、发送方所反对的媒体类型、媒体的连贯信息等,参与者人数越多,SDP 内容占比越高。 因而,将 SDP 革新为 MiniSDP 肯定水平上能够对 HTTP 包体进行压缩。 WebRTC 的 SDP 用文本字符串示意比拟简短,不利于疾速高效传输;MiniSDP 把 SDP 文本压缩成高效传输的二进制流,具备高压缩率、强扩展性、应用便利性。 mini_sdp 由 mini_sdp header、n 个 session 级别扩大和 n 个 media 三局部组成,具体构造如下:mini_sdp header 次要定义 mini_sdp 传输所须要的一些辅助信息及 ice 候选地址信息,各字段的长度及含意如下: struct MiniSdpHdr { uint16_t version; //2B, 示意该mini_sdp的版本号 uint8_t is_bundle:1; //1b, 0-未绑定, 1-绑定 uint8_t plan_type:1; //1b, 0-plan-b, 1-unifield-plan uint8_t dtls_role:2; //2b, 0-actpass, 1-active, 2-passive uint8_t encrypt_switch:1; //1b, 0-不加密, 1-encrypt_key加密 uint8_t ip_type:1; //1b, 0-ipv4, 1-ipv6 uint8_t ice_type:1; //1b, 0-full-lite, 1-ice-lite uint8_t reversed1:1; //1b, 保留位 uint8_t reversed2:5; //5b, 保留位 uint8_t candidate_num:3; //3b, ice 候选地址的个数 uint16_t media_num; //2B, 原sdp中m行的个数} __attribute__((packed));留神:1、version和media_num以网络字节序传输;2、必须反对ice,并且rtp和rtcp共用端口,否则会在media中减少ip,rtpPort,rtcpPort的开销;3、media_num用uint16_t,避免大会议应用unifield planstruct MiniCandidateDesc { uint32_t ip[4]; //ipv4, ipv6转换后的ip uint32_t priority; //优先级 uint16_t port; //端口 uint8_t type; //0-host, 1-srflx, 2-prflx, 3-relay} __attribute__((packed));留神:priority和port以网络字节序传输session extenses 次要形容会话信息: ...

April 4, 2023 · 2 min · jiezi

关于数据传输:Mac电脑无法识别安卓设备

Mac电脑无奈辨认安卓设施?无奈在电脑上进行操作?Android File Transfer 是一款弱小的安卓文件传输工具,应用非常简单,只须要在连贯手机前运行 Android File Transfer ,再连贯手机,那么 Mac 就会辨认出 Android 设施,帮忙你对外面的文件进行复制、粘贴、删除等治理。

July 7, 2022 · 1 min · jiezi

关于数据传输:数据传输-如何配合-ptosc-使用-DTLE-同步-DDL

作者:刘安 爱可生测试团队成员,次要负责 DTLE 开源我的项目相干测试工作,善于 Python 自动化测试开发。 本文起源:原创投稿 *爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。 如何配合pt-osc应用DTLE同步DDL背景:在社区群里有同学询问,源库应用pt-osc做表DDL变更,DTLE是否反对? 1. pt-osc的原理1). 创立一个与原表构造雷同的空表,表名是_原表名_new2). 批改步骤 1 创立的空表的表构造3). 在原表上增加三个触发器:delete/update/insert,用于在复制数据过程中,将原表中的数据变更同步到_原表名_new表4). 将原表数据以数据块的模式复制到_原表名_new表5). rename 原表为_原表名_old表,并把_原表名_new表 rename 为原表,而后删除_原表名_old表6). 删除触发器 2. DTLE对DDL的反对依据DTLE的文档https://actiontech.github.io/...中的形容可知: 1). DTLE反对create/altert/drop table语句2). DTLE尽管不反对同步触发器相干的DDL,然而触发器产生的数据能够同步到指标端3). DTLE反对rename语句 看来DTLE应该是反对pt-osc做表DDL变更的,接下就具体操作一下。 3. 操作步骤1). 部署DTLE集群,这里应用的是dtle-ce-4.22.01.0版本2). 在源端MySQL筹备一些数据mysql> CREATE DATABASE action_db;shell> sysbench /usr/share/sysbench/oltp_common.lua --mysql-host=172.100.9.1 --mysql-port=3306 --mysql-user=test --mysql-password=test --create_secondary=off --mysql-db=action_db --tables=1 --table_size=100000 prepare3). 创立一个DTLE工作留神此处须要将_原表名_old表和_原表名_new都退出都DTLE工作的同步范畴 job "test_pt_osc" { datacenters = ["dc1"] group "Src" { task "src" { driver = "dtle" config { ReplicateDoDb = [{ TableSchema = "action_db" Tables = [{ TableName = "sbtest1" }, { TableName = "_sbtest1_new" }, { TableName = "_sbtest1_old" }] }] ConnectionConfig = { Host = "172.100.9.1" Port = 3306 User = "test_src" Password = "test_src" } } } } group "Dest" { task "dest" { driver = "dtle" config { ConnectionConfig = { Host = "172.100.9.2" Port = 3306 User = "test_dest" Password = "test_dest" } } } }}4). 查看两端数据库的表构造 ...

April 13, 2022 · 1 min · jiezi

关于数据传输:数据传输-dtle-之库表重命名

作者:陈怡 爱可生南分团队 DBA,负责公司自动化运维平台保护和解决客户问题。 本文起源:原创投稿 *爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。 前言DTLE 是开源的数据传输组件,反对 MySQL 多种应用场景的数据传输。 可能会遇到这样的场景,将数据传输到目标端时,目标端的库名想要与源端的库名不一样。或者传输到目标端时,库名与源端的一样,然而想重命名表名与源端的不同。本文将简略介绍 DTLE 如何设置满足这样的场景。 装置部署1、3.21.10.0 版本 rpm 包下载地址 https://github.com/actiontech/dtle/releases/download/v3.21.10.1/dtle-ce-3.21.10.1.x86_64.rpm2、装置 rpm -ivh dtle-ce-3.21.10.1.x86_64.rpm --prefix=/data/dtle装置实现后,dtle 的相干日志会位于 /data/dtle/var/log 目录下 3、启动 dtle systemctl start dtle-consul dtle-nomad启动 dtle 之后,咱们就能够创立工作来实现咱们的数据传输了。 测试环境筹备1、筹备两个 5.7 版本的 MySQL 实例,别离用作源端和目标端数据库。 2、在源库,创立测试数据如下 mysql> create database dtle_d1;Query OK, 1 row affected (0.00 sec)mysql> use dtle_d1Database changedmysql> create table dtle_t1(id int,name varchar(20),PRIMARY KEY(id));Query OK, 0 rows affected (0.02 sec)mysql> insert into dtle_t1 values (1,'xiaoming'),(2,'xiaohong'),(3,'xiaofang');Query OK, 3 rows affected (0.00 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> select * from dtle_t1;+----+----------+| id | name |+----+----------+| 1 | xiaoming || 2 | xiaohong || 3 | xiaofang |+----+----------+3 rows in set (0.00 sec)mysql> create database dtle_db2;Query OK, 1 row affected (0.01 sec)mysql> use dtle_db2Database changedmysql> create table dtle_table2(id int,name varchar(20),tag varchar(20),PRIMARY KEY(id));Query OK, 0 rows affected (0.01 sec)mysql> insert into dtle_table2 values(1,'mao','0'),(2,'gou','0'),(3,'tu',0),(4,'shu','0'),(5,'yu','0');Query OK, 5 rows affected (0.00 sec)Records: 5 Duplicates: 0 Warnings: 0mysql> select * from dtle_table2;+----+------+------+| id | name | tag |+----+------+------+| 1 | mao | 0 || 2 | gou | 0 || 3 | tu | 0 || 4 | shu | 0 || 5 | yu | 0 |+----+------+------+5 rows in set (0.00 sec)3、装置 jq 工具以不便在 Linux 上查问工作状态。此为可选项,非必选项。 ...

December 23, 2021 · 5 min · jiezi

关于数据传输:数据传输-如何搭建-DTLE-的监控系统

作者:刘安 爱可生测试团队成员,次要负责 DTLE 开源我的项目相干测试工作,善于 Python 自动化测试开发,最近醉心于 Linux 性能剖析优化的相干常识。 本文起源:原创投稿 *爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。 背景:尽管在 DTLE 的文档里提供各种监控项的介绍,然而对于不相熟 prometheus 和 grafana 配置的同学来说上手还是有些难度的。明天我就来 DTLE 3.21.07.0 来搭建一个 DTLE 的监控零碎。 一、搭建 DTLE 运行环境配置两个节点的 DTLE 集群来演示,其拓扑如下: 在批改 DTLE 配置文件的时候须要留神以下两点: 开启 DTLE 的监控,确保 publish_metrics 的值为 ture开启 nomad 的监控,确保正确配置telemetry这里以dtle-src-1的配置为例,具体配置参考节点配置: # DTLE 3.21.07.0中nomad降级为1.1.2,须要增加如下配置使nomad提供监控数据# 之前版本的DTLE无需增加此配置telemetry { prometheus_metrics = true collection_interval = "15s"}plugin "dtle" { config { data_dir = "/opt/dtle/var/lib/nomad" nats_bind = "10.186.63.20:8193" nats_advertise = "10.186.63.20:8193" # Repeat the consul address above. consul = "10.186.63.76:8500" # By default, API compatibility layer is disabled. api_addr = "10.186.63.20:8190" # for compatibility API nomad_addr = "10.186.63.20:4646" # compatibility API need to access a nomad server publish_metrics = true stats_collection_interval = 15 }}增加两个 job 模仿两个 MySQL 实例之间传输数据 ...

August 31, 2021 · 2 min · jiezi