家庭影音之路 篇二:PT盒子服务器参数优化以及Rutorrent设置调整
开篇简介:
上一篇给大家介绍了如何租用一台法国的大带宽、大硬盘的独立服务器,以及如何在线重新安装linux系统和如何安装ruotrrent(种子下载工具)。那在上一篇文章中,有一点忘记和大家说了,如果你自己租用的是VPS,而非独立服务器,重装系统前必须确认你的服务器虚拟架构是KVM的,而且还要保证是GRUB引导的才行。如果不是,或者不知道自己的VPS是什么架构,没关系本文将会给大家介绍如何检测自己VPS的虚拟化架构。当然了,做教程肯定是要尽量全面的,如果各位小伙伴觉得实在麻烦,不重新安装系统也是可以的。
温馨提示:
鉴于很多小伙伴还不理解PT是什么意思,我大概解说下。BT下载相信大家应该都知道的吧,如果不知道的可以百度一下,那么PT其实就是BT的延伸版本。简单点说,PT就是小团体的“私有”下载。BT是大团体的“共有”下载。那既然是“私有”肯定是需要验证的,在你下载的时候PT站会对你的账号进行验证,确定你是他们的成员后才会让你下载他们的种子,而且下载时会记录你的分享率,如果你的分享率过低,那么会封掉你的账号。所以PT站点下载种子的速度基本上都能达到你本地带宽的满速。
那么话说回来,我们在“服务器”上下载PT种子到底有没有“事”?有的小伙伴会问了,我们用服务器下载种子,服务商会不会封掉我们的服务器?对于这个问题,我想告诉大家。如果你只是下载PT站点的种子,那么问题就不大了,不过有些服务商给你提供的带宽是共享的,因为PT下载基本接近带宽的满速,你长时间占用人家网速,人家会给你限速,甚至有可能封掉,当然这种情况VPS居多。所以非独享带宽的服务器请适当限速。非独立服务器的请低调下载。
俗话说的好,知己知彼百战不殆,那什么情况下会让服务商封掉你的服务器呢?这里就要说1个关键词了“DMCA”数字千年版权法,想了解的小伙伴可以百度一下。简单点说,如果你下载的是BT种子,也就是所有人都能下这个种子,那么一些坏叔叔也会去下载,然后他们会根据你的IP,投诉到你的服务商那里,然后你的服务商扛不住压力就封了你的服务器。反正总之记住一句话,如果你是用BT种子的下载,那么请租用 抗“DMCA”的服务器。PT种子的话基本可以无视这个了。暂时就介绍这么多,再说就跑题了。
---------------------------------------------------------------------------------------------------
那本节主要是教会大家,如何调整自己服务器的参数,以及如何给rutorrent进行一些优化。本次篇幅比较长,主要是为了照顾第一弄的新手们,所以每个步骤我都给细化了。毕竟光靠三言两语是没有办法让一位萌新学会的。
一、开启Root登录
上一章通过教程教会了大家如何在线安装Rutorrent,那么已经通过我的教程安装过的小伙伴,相信都出现了1个问题,那就是初始的root账号无法登录了。原因是之前使用的一键脚本,这个脚本为了服务器的安全性,故而关闭了root登录,我们只需要用新创建的账号密码去登录就可以了,然后修改设置再次开启root登录即可。下面就跟着教程来做一遍吧。
打开putty并open你的服务器 (账号密码,就是之前你创建的网页账号密码)
输入命令:sudo su (这一步是告诉系统我们要进入root模式)
输入命令:你的密码 (确认用的,密码输入不可见,输入完直接回车就行)
然后就会出现下面这张图,有 “root@” 这几个字符就证明你已经在root模式中了,然后就可以继续进行下去了。一定得是在root模式下进行才可以,不然权限不够,我们无法修改某些关键性文件的。(本教程是在Ubuntu系统上进行的,如果你是Debian系统那么进入root的命令 应该是 su ,系统不一样进入的方法也不一样)
输入命令:vi /etc/ssh/sshd_config (这步是通过VI命令修改文件,有点类似操作记事本,只不过Linux上面比较麻烦,大家跟着教程做就可以了)
输入命令:回车 (如下图所示 按enter 后才可以继续)
出现下面这个就代表成功进入了我们要修改的文件(切记,这个时候不要乱动你的键盘,因为这个模式下代表了修改文件,你的任何小动作,都会导致修改失败。因为某些修改命令就在你的键盘上,所以必须得跟着教程一步一步走。当然如果你知道如何修改,那么可以直接操作,但是没弄过的小伙伴,不知道如何修改的小伙伴,一定一定不要心急,请仔细仔细再仔细跟着教程弄!)
这里需要给大家简单介绍下,我们需要使用到的按键,这些按键是修改文件用的!大家粗略了解一下,一会跟着教程弄的时候就不会那么**啦!命令是分大小写的,请把你的键盘切换成小写模式(不要在Putty窗口切换噢,随便找个能打字的地方,测试下你的键盘输入模式是不是小写模式)
需要用到的功能按键: ESC i x ←↑ ↓→ ( i 和 x 都是小写状态的 ,ESC就是你键盘左上角那个按键,上下左右就是键盘右边的方向键)如下图所示。
ESC :这个按键是切换模式用的,你可以把它理解为还原,做过任何操作后都要按它还原成初始操作状态。
方向键:这个是用来移动光标位置的,移动之前请多按几下ESC,避免出错。
i : 小写的 i ,这个按键是告诉系统 在当前光标处插入字符,字符输入是连续的哦,退出时要按ESC
x : 小写的 x ,这个按键是告诉系统,在当前光标位置删除1个字符。
好的,简单了介绍了一下这几个按键的作用,那么下面就跟着教程一步一步的进行操作吧。
-------------------------------------------------------------------------------------------
1、对着Putty窗口,先按几下ESC,然后一直按 ↓ 方向键,直至到达 “PermitRootLogin no”这一行。
2、接着按→方向键,把光标移动到 “n”这个字符上。
3、接着按 两次“x”(目的是把no这两个字符给删除了)如下图所示
4、接着按 一次 “i” (进入插入字符模式,按1次就可以了!!然后千万别乱按键盘,因为是插入模式,所以你所有的按键操作都会写入到这个文档里面)
5、接着依次按 “空格”“y”“e”“s” ,把这4个字符输入进去。(输入完后别动键盘!)
6、接着按几次ESC (意思是退出插入模式,按完后你会发现绿色光标移动到了s这个字母上了,代表了切换模式成功,这时候你就又可以通过方向键移动光标了)
7、然后再次通过方向键移动光标至“AllowGroups sudo sshuser”这一行,并把绿色的光标移动到最左边“A”这个字符的上面。(我的这行字是在文档的最后,如果没有这行字的话那可以跳过7、8、9、10这几个步骤!)
8、接着按 一次“i” (继续进入插入模式)
9、接着按 一次 组合键 "Shift + 3" (也就是把“#”这个字符给输入进去!)
10、接着按一次 `ESC。把它弄成和下图一模一样就行了。
11、按一次组合键 Shift + 冒号键 (就是平时你输入冒号时的按法),这时你会发现光标跳到了最下面,并且前面有1个冒号。(注意这个时候就别乱按键盘了噢!我们还有1个步骤就成功了!)
12、接着依次按 “w”“q”(把这两个字符给输入进去!)
13、接着 按回车键,就保存了! (然后回跳回到一开始输入命令的地方。如下图所示。)
14、输入命令:service ssh restart (这一步是让我们刚才修改的内容生效!)
至此,我们已经成功的给服务器开启了Root的登录权限,各位小伙伴们可以继续使用之前的 root + 密码 ,来登录服务器了。那么,有的同学可能会问了,我不修改这一步可以吗? 恩,如果你能root登录,当然可以不用修改,如果不能用root账号进行登录,那么必须进行修改。因为后面的优化设置,必须要用到root账号的。所以,我才把开启root登录放在了本章第一节进行讲解。
-------------------------------------------------------------------------------------------
二、去掉“HTTPS”使用“HTTP”进行网页访问
当我们安装好Rutorrent之后,访问我们的WebUI的时候,会发现浏览器提示我们的网页不安全,而且在网址那一栏会有1个大大的X。如下图所示,这时我们就需要开始第一次的小优化了。(当然这个只是1个安全性的提示,对实际功能没有一点影响,不想修改的同学可以跳过)
1、下载WinScp这个工具安装它然后打开。(这个工具可以很方便的修改我们服务器上的文件,当然前提是要开启Root登录,不然系统的核心文件是没办法用这个工具修改的)后面的教程都会使用WinScp和Putty这2个工具配合。
2、点击新建站点,然后在填入服务器相关信息,并登录到服务器(如下图所示)
登录进去后就像下面这张图一样,这里面的文件列表都是你服务器上的资源,我们可以用这个软件给服务器上的文件进行编辑,特别方便。也可以进行文件传输等操作。当然你也可以用它把你服务器上下载好的文件给拖回本地,当然这个方法不是最好的,后面会教大家1个更好的办法。那么废话不多说,我们继续进行设置。
3、进入文件夹:/etc/nginx/sites-enabled
4、对着 “default”这个文件右键,然后点击编辑。
鼠标点过编辑之后就会出现下面这个界面,是不是有点像记事本。恩,没错,我们后面的修改教程,都是通过这个进行的。有了WinScp这个工具,世界都变得美好了。
5、把这个文件里面所有的信息给删掉,然后替换成下面的文本。(listen 666 代表了监听的端口号)
server {
listen 666;
root /var/www/rutorrent;
index index.html index.php index.htm;
client_max_body_size 40m;
location / {
client_max_body_size 40m;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
}
location ~ /.ht {
deny all;
}
}
就像下面这张图片一样,把上面这段代码给粘贴进去,替换掉原来的代码。然后CTRL+S (保存)
6、Putty输入命令:service nginx restart (这步的意思是重启下我们的网页)
好的,这个时候你在访问我们的网页客户端就没有那个提示了,不过我提供给大家的这串代码,把网址给变动了一下,变成了IP+端口号的访问(这步的目的主要是为了配合后面教程),所以这个时候你访问原来的网址是没有效果了。需要用下面新的网址进行访问!
http://你的IP地址:666 (例如:http://123.123.123.123:666) 前面是 http:// 没有S 切记!
-------------------------------------------------------------------------------------------
三、给服务器跑个分
服务器的性能究竟如何?这是个非常有学问的东西,我们用服务器进行PT下载,最明显的就是下载速度和上传速度了。那么大家肯定想知道服务器的极限在哪里把,知道了极限才能进行相关的优化,不然明明给你1G的带宽,你却跑出了200MB的带宽,岂不是没有把“值”这个字进行到底?
影响上传和下载速度的牵扯的东西特别多,但是无外乎就2个字“配置”,首先就是服务器的“带宽”。1GBPS的服务器不一定能跑出100MB/S的速度,所以我们要进行测试,那光检测速度肯定是不够的,影响上传速度的,还有1个参数“硬盘IO”。相信说道这个大家应该能有所共鸣,不然固态硬盘和机械硬盘怎么会是1个天1个地呢?当然了,CPU的好坏也会影响我们的上传和下载速度。因为在高速的上传和下载中,对CPU的依赖也是不小的。当然这也取决于你下载工具的性能。有些工具,下载速度一般,但是贵在稳定,有些工具是速度特别快,但是对CPU特别依赖,经常跑满CPU。最最尴尬的就是卡硬盘IO了。这个是硬瓶颈,我们着重优化的也是这个。但是有一句话,是不会错的,一分价钱一分货,举个例子:昨天刚帮一个朋友安装了1台服务器。他买的是25欧的并且没有做任何优化。结果这台服务器的速度却是我15欧服务器2倍左右。
服务器测速也不难,因为网上有很多大神写了不少一键测速脚本。对于我等小白来说,简直就是美滋滋。OK,那我们就选1个脚本,来给服务器跑1个分看看性能就然如何把!
输入命令:wget https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench-CN.sh && bash ZBench-CN.sh
然后,就是1次小小的等待,脚本这个时候会先下载所依赖的运行库,然后自动检测服务器的配置,硬盘IO、传输速率,以及全球范围类的上传下载速度、ping值、路由表信息等等。当然了,IO、传输速率这些,我们只需要参考一下就行了。大概知道服务器处于什么样的水平就行。比如参数中的 CacheFly 基本上就是你带宽的总速度了。所以真正的上传+下载的传输速率之和,应该接近这个值才算满速。
-------------------------------------------------------------------------------------------
四、优化Linux的参数
Linux这个系统,说心里话我也是个小白,对于服务器如何优化,也是google了一大堆文章,最终实测了一下,发现效果还是不错的,亲身经历,法国这台15欧的服务器,原先只能跑到30mb/s的速度,经过优化之后是真的跑到了80mb/s,基本上达到了这台服务器的满速带宽。不过有一个缺点就是不太稳定,我也在尽力的寻找更加妥善的优化速度的方案。所以,如果你觉得你服务器耐折腾,你觉得目前你的服务器速度让你不是很满意的,或者喜欢专研的小伙伴。可以尝试根据我提供的方法进行一些优化设置。(优化有风险,操作需谨慎,重装是常事)
特别提醒:如果你正在用rutorrent进行下载,请先停止下载任务。因为优化后需要重启系统。所以会导致正在下载的文件下次启动的时候会重新校验!强烈建议在优化的时候不要有任何下载行为,因为不怕一万就怕万一,如果优化出错,导致系统打不开等等之类的就得不偿失了。
1、WinScp编辑文件:/etc/fstab
2、插入代码 noatime 到 errors=remount-ro 的前面 分隔符为逗号(请参考下图)然后保存!
这一步的目的是,让系统不给文件做时间记录,因为我们在进行PT下载的时候,会有大量的硬盘读写行为,而默认情况下linux会把文件访问的时间atime做记录,比如最近一次的访问时间、最近的一次的修改时间等等。所以这里我们设置为 noatime 将会显著提高磁盘 IO 的效率、提升文件系统的性能。 (其实按照google上面的说法 加入data=writeback 也能提高IO,问题是,我加入了这个参数后,部分服务器失败,只有一台成功。因为自己技术有限,也不知道什么原因导致的,所以稳妥起见,还是不要加入这个了,只需要 noatime 这个参数就行。)
3、WinScp编辑文件:/etc/sysctl.conf (把下面的文本复制到这个文件底部,注意最后要有1个换行符)
vm.swappiness = 1
fs.file-max = 2000000
kernel.pid_max = 4194303
kernel.sched_migration_cost_ns = 5000000
kernel.sched_autogroup_enabled = 0
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_abort_on_overflow = 0
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_tw_reuse = 1
vm.dirty_background_ratio = 20
vm.dirty_ratio = 30
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_workaround_signed_windows = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_orphan_retries = 2
net.ipv4.tcp_retries2 = 8
net.ipv4.ip_local_port_range = 1024 65535
net.core.netdev_max_backlog = 3240000
net.core.somaxconn = 50000
net.ipv4.tcp_max_tw_buckets = 1440000
net.ipv4.tcp_max_syn_backlog = 3240000
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.ip_no_pmtu_disc = 0
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.core.optmem_max = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_adv_win_scale = 2
这一步的目的是修改Linux的内核参数,主要优化TCP等协议参数,调优网络质量。如果你之前就有过这方面的设置,或者用过别的脚本,比如开启BBR的时候顺带优化了这个参数。可以参考如上配置进行适当的修改即可。(What?啥是BBR? 好吧,那是下一篇文章主要讲解的内容)
值得一提的是 vm.swappiness = 1 这个参数是告诉服务器对SWAP 分区的依赖程度。这样说很难理解,你可以把它理解为windows的虚拟内存。当物理内存不足时,会调用这个虚拟内存作为补充使用,从而使得系统稳定。那么虚拟内存大家都知道是存放在硬盘上的。所以过多的使用SWAP,也就会造成过多的读写硬盘,那么你的硬盘IO速度就降低了。所以,通过调整vm.swappiness这个参数的值,可以告诉linux系统如何使用SWAP。一般默认情况下他的值是60,如果你内存足够大,比如25欧的那款服务器有16G的内存,完全用不掉啊,就可以设置为1。我这里设置的是0,当然不是禁用了SWAP,而是告诉系统能少用就少用,能不用就不用。具体怎么选择看亲们自己定吧
4、WinScp编辑文件:/etc/security/limits.conf (把下面这些参数给复制进去)然后保存!
* soft nofile 2000000
* hard nofile 2000000
root soft nofile 2000000
root hard nofile 2000000
这一步的目的是,增加最大打开的文件数,对于PT下载这种频繁使用到文件读写的。当然得调整了。
6、WinScp编辑文件:/home/登录账号/.rtorrent.rc (登录账号就是你网页使用的账号名称)
修改:(寻找下面这些参数名称,并修改它的数值)
throttle.max_downloads.global.set = 0
throttle.max_uploads.global.set = 0
throttle.min_peers.normal.set = 1
throttle.max_peers.normal.set = 512
network.max_open_files.set = 1024
network.max_open_sockets.set = 1024
network.http.max_open.set = 512
network.send_buffer.size.set = 16M
network.receive_buffer.size.set = 16M
pieces.memory.max.set = 3500M
pieces.memory.max.set 这个参数代表使用多少内存,我的是4G内存,所以我设置为3500M 。建议是你内存的80%~90%,文件读取如果都是在内存中进行的话,那么反之本地读写的次数就越少。所以硬盘IO速度也能相应的提升。大内存的机器就不要吝啬你的内存了。要物尽其用才行!
新增:(把下面这些参数复制进去,放到文本的最后)
max_uploads = 512
pieces.preload.min_size.set = 262144
pieces.preload.min_rate.set = 5120
network.xmlrpc.size_limit.set = 4M
system.file_allocate.set = yes
最后修改完毕后记得保存,它看起来应该像下面这张图一样。
7、Putty输入命令: reboot (重启一下服务器,使得我们刚才所有的设置生效)
等服务器重启完毕,我们的基本优化工作已经完成了。现在就可以来测试一下种子的下载速度,找几个热种试试看吧。不出意外的话,速度应该能有1个明显的提升了。如果你还是对速度不满意。那么本人也尽力了。或许等我再好到新的方法,会再次更新这一篇文章。对了,下载工具也是会影响下载速度的噢,不同的工具写法以及算法都不一样。目前速度最快的应该是“Deluge”吧,“qBittorent”的Windows版我也试过,感觉速度也很暴力,不知道Linux下的表现如何。大家可以测试一下。
就在刚才我添加了1个新种子,可以看到下载速度已经彪到42mb/S了。在加上目前已有的上传带宽,宽带利用率已经达到了接近60MB/S的速度。而我的服务器最快也就只能跑个80MB/S 左右。相比起我一开始没有优化只有30MB/S的速度已经有了快一倍的提升。(不过最后还是有一点要说明一下,我目前只在自己的服务器上测试过。至于别的服务器有没有什么特别的讲究,我也不清楚,所以大家在看我的教程时,主要是做参考,然后贵在自己调试)
---------------------------------------------------------------------------------------------------
连续发了两篇的文章,教程写的还真是有点累人。不过总算把这2个月摸索的一点东西给贡献了出来,也算是PT精神吧。人人为我,我为人人。我的这台15欧的服务器还有5天到期,届时会测试下11欧的那一款,看看速度稳定性如何。毕竟我们要把彻底把“值”这个字给发挥出来才是上上策。
---------------------------------------------------------------------------------------------------
下一篇预告:
1、服务器开启直链下载(方便取回本地文件)
2、给服务器安装魔改BBR加速,增加TCP传输速度。(加快取回文件速度)
3、优化直链下载列表(使其更加美观,更加人性化、支持打包下载、文件搜索、支持简易的在线播放)
最后谢谢各位的观看,也感谢各位大佬们的打赏。
幻樱杀缭乱
校验提示文案
值友7754646041
校验提示文案
圈圈88
校验提示文案
curing
校验提示文案
玉面小白狼
校验提示文案
打打球跑跑步
校验提示文案
清客
校验提示文案
Gravityman
校验提示文案
silent_x
校验提示文案
jinsongtry
校验提示文案
蜡笔新新
校验提示文案
aboutme
校验提示文案
风中的一只帅哥
校验提示文案
hrbagang
校验提示文案
熊孩子王
校验提示文案
矿物质水
sudo passwd root
输入两遍密码。
校验提示文案
矿物质水
sudo passwd root
输入两遍密码。
校验提示文案
值友7754646041
校验提示文案
熊孩子王
校验提示文案
hrbagang
校验提示文案
风中的一只帅哥
校验提示文案
清客
校验提示文案
curing
校验提示文案
圈圈88
校验提示文案
打打球跑跑步
校验提示文案
aboutme
校验提示文案
蜡笔新新
校验提示文案
jinsongtry
校验提示文案
silent_x
校验提示文案
Gravityman
校验提示文案
玉面小白狼
校验提示文案
幻樱杀缭乱
校验提示文案