LINUX 如何开放端口和关闭端口

LINUX 如何开放端口和关闭端口,第1张

1首先,客户端和服务器建立的每个TCP连接都会占用服务器内存,所以最大TCP连接数和内存成正比。简单估算为最大内存除以单TCP连接占用的最小内存
2Linux *** 作系统中,一切都是文件。所以每个TCP连接,都会打开一个文件。为此Linux *** 作系统限制了每个用户能打开的文件数量,通过ulimit -n 查看。修改方式:
vi /etc/security/limitsconf文件,在文件中添加如下行(限制修改为10240):
speng soft nofile 10240
speng hard nofile 10240
3Linux *** 作系统中,TCP连接数量还受到端口数量限制,由于端口号只有1-65535,所以最大TCP连接数也只有65535个(包括系统端口1-1024)
4Linux *** 作系统对所有用户最大能打开文件的限制:cat /proc/sys/fs/file-max。
5网络核心模块对tcp连接的限制(最大不能超过65535):
vi /etc/sysctlconf
netipv4ip_local_port_range = 1024 65000
6防火墙对tcp连接的限制
综上,在Linux *** 作系统中,首先对TCP连接数量的限制依次有:端口数量限制,网络核心限制,最大文件数量限制(因为每建立一个连接就要打开一个文件),防火墙限制,用户打开文件限制
都是传智播客出版的书上的知识,他们官网也都有。可以去官网多看看视频学学。

云服务器的 *** 作系统主要有两大类:Linux和Windows。

Linux *** 作系统,包括Ubuntu、Debian、CentOS等系统,这些都是非常优秀的开源系统,功能大同小异,界面和 *** 作方法略有不同,参照使用者对系统的熟悉程度和喜好即可。

Windows *** 作系统:

一般Windows *** 作系统常用的有Server2008和Server2012R2,其中又分为x86和x64两种。X86即32位,和x64(64位)最主要限制体现在内存上。由于32位本身的限制,最大可支持到4GB内存,如果您需要使用高于4GB的内存的需求,请使用64位 *** 作系统。选择选择2008版本还是选择2012呢建议版本越高越好,因为高版本漏洞更少,现在最高版本为2019。

一、根据开发语言选择:

网站开发语言为ASP、NET、HTML,选择Windows系统;

网站开发语言为PHP、HTML、WAP,选择Linux系统;

二、根据网站需要使用数据库来选择:

数据库为ACCESS、SQLServer,选择Windows系统。

数据库为MySQL、SQLite,选择Linux系统。

三、对 *** 作系统熟悉程度来选择:

如果平时没有接触过Linux下敲命令 *** 作系统(类似win下面的DOS),建议选择Windowssever系统。

如果熟悉Linux命令,那强烈建议使用Linux。

至于服务器的带宽则需要根据业务需求来具体计算,不同需求对带宽的要求也千差万别的。如果是公司主页,平时同时在线的访问人数也不会太大,几M的带宽应该是够用的了。但如果你是访问量非常大的论坛或视频下载网站,那就非常消耗带宽资源,几个G都有可能不够用。

1举例说明,如果你的站是公司网站,1M带宽就相当于200人左右在线。假如说是正常访问的话,那么就要看并发连接数目。最后用并发数目除以每个人所占用的带宽。

例如:2400人同时在线,2400人并发同时 *** 作,每个人的页面30KB,那么合算成带宽就是:2400/(30KB8)=10Mb

2举例说明,如果你的网站是视频网站

例如:网络环境是并发数目是1000,高清视频码率是2Mbps,标清码率是1Mbps。假如:1:2,单节点并发按600计算,那么它的总输出带宽是多少呢?

答:2002+4001=800Mbps

rsync 就是远程同步的意思remote sync
rsync 被用在UNIX / Linux执行备份 *** 作 *** 作
rsync 工具包被用来从一个位置到另一个位置高效地同步文件和文件夹 rsync可以实现在同一台机器的不同文件直接备份,也可以跨服务器备份

rsync 语法如下

从语法结构我们可以看出, 源和目标即可以在本地也可以在远端 如果是远端的话,需要指明登录用户名, 远端服务器名, 和远端文件或目录 同时源可以是多个, 目标位置只能是一个

说明:

-z: --compress 使用压缩机制

-v: --verbose 打印详细信息

-r: --recursive 以递归模式同步子目录

注意: 同步完成后, 我们会发现文件的时间戳timestamps发生了改变

有时我们希望拷贝或同步时, 时间戳不要发生变化, 源文件是什么时间戳,目标文件就是什么时间戳, 这时我们需要使用 -a --archive 归档模式选项 -a 选项相当于7个选项的组合 -rlptgoD

-r, --recursive: 递归模式Recursive mode
-l, --links: 将符号链接当作符号链接文件拷贝, 不拷贝符合链接指向的文件内容
-p, --perms: 保留文件权限
-t, --times: 保留修改时间戳
-g, --group: 保留用户组信息
-o, --owner: 保留用户信息(需要超级用户权限)
-D, 相当于 --devices --specials 的组合, 保留设备文件, 保留特殊文件

同步完成后, 我们再来看文件属性, 时间戳信息得到了保留, 不仅如此文件的所有者 和所在组也得到保留

说明: Pubkeys 是一个普通文件

使用rsync, 也可以从本地拷贝多个文件或目录到远端, 以下即为示例:

注意:
与本地文件拷贝不同的地方在于, 当拷贝文件到远程服务器时, 我们指定远程主机上的用户名, 服务器地址, 路径等信息, 类是于使用scp命令拷贝, 如果没有设置ssh免密码登录我们还需要提供远程用户的密码等信息有时你不想频繁输入密码, 或者rsync运行在一个无人执守的脚本里面, 这是需要预先设置ssh免密登录, 或者使用结合expect命令,自动输入密码, 但是出于安全考虑, 密码需要加密 所以在条件许可的情况下, 还是推荐设置ssh免密登录

与示例 4 稍有不同, 这时远端目录或文件作为源位置, 本地目录或文件作为目标位置, 示例如下:

rsync 允许指定远程主机上运行shell命令
这时需要使用 -e 选项:
-e, --rsh=COMMAND 指定远端使用的shell命令

Use rsync -e ssh to specify which remote shell to use In this case, rsync will use ssh

在一下特殊的使用场景中, 我们不希望拷贝文件时, 我们不希望拷贝过程覆盖掉目标位置中用户做出的修改 这时我们需要使用 -u 选项明确的告诉rsync命令保留用户在目标文件中作出的修改 在下面的例子中, 文件Basenames是用户基于上次的拷贝, 修改过的文件, 当我们使用了-u 选项后, 该文件中的修改将不会被覆盖掉

在某些特殊场景中, 我们只需要远程服务器上的目录结构, 而不希望花大量时间, 带宽拷贝文件内容, 这时我们可以使用 -d, --dirs选项来达到目的

有时我们希望拷贝文件时, 能实时的显示拷贝进度, 以及传输速率等信息 尤其是拷贝大文件时, 程序不输出信息, 用户往往无法区分程序是在响应中, 还是已经挂起, 在这种情况下如果使用 –progress 就会非常有帮助
rsync –progress option displays detailed progress of rsync execution as shown below

你也可以使用rsnapshot工具 (rsnapshot会调用rsync)来备份本地linux服务器, 或者备份远程linux服务器

有时我们希望目标文件和源文件保持严格一致, 不要多文件也不要少文件, 这是我们可能需要使用 -delete 选项来达到目的 如果使用 -delete 选项, rsync将删除目标位置多余的文件或文件夹 此选项还可以结合--delete-excluded 选项一起使用, 添加一些例外的文件

上述示例中, new-filetxt 是源文件中没有的文件, 其将会在拷贝时被删除掉

在某些特殊的场景下, 我们只想更新, 目标位置已经存在的文件或目录, 而不关心源位置的新文件, 这时我们可以使用-existing 选项仅仅更新已经存在的文件
让我们来验证一下这个选项的功能, 首先在源端添加一个新文件 new-filetxt

从上面的例子可以看到, 由于加了--existing选项新文件new-filetxt没有被拷贝到目标位置

选项-i, --itemize-changes 非常有用, 当我们想了解目标位置和源位置的文件差异时

在源端:

在目标端:

注意: 在上面的例子中, 源位置和目标位置有两处差异 第一, 源文件Basenames的所有者和组 与 目标文件不同, 第一Dirnames文件大小也不一样
现在让我们来看看rsync会怎样显示这些差异

输出信息只在相应文件前面显示了9个字母来标识改变, 这些字母具体是什么意思呢 请参考以下详细说明

rsync 可以使用--include 和 --exclude 选项结合通配符进行文件或文件夹过滤

在上面的示例中, 仅仅以P打头的文件和文件夹被包含了进来, 其他的文件都被过滤在拷贝的过程中被排除在外了

可以使用--max-size 告诉rsync 不要拷贝大小超过某个值的文件, 可以使用K, M, G指定文件大小, M for megabytes and G for gigabytes

rsync 有个重要优点就是, 可以做到在拷贝的过程中, 只拷贝发生变化了的部分, 而不是发送整个文件
但是在某些场景中, 比如文件较少, 文件size较小时, 我们的带宽又足够大, cpu资源相对又贫乏, 我们不希望它这样做, 因为毕竟计算源端和目标端的checksum, 并做对比, 也需要额外cpu开销 这时我们可以使用 -W, --whole-file 选项, 让rsync不用计算那么多, 一上来就直接开始传送文件 我们可以像下面这么做

15个Rsync命令实例


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12637455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存