六路由吧 关注:225贴子:461
  • 6回复贴,共1

东北大学IPv6 BT六维空间的迁移中的问题

只看楼主收藏回复

 东北大学BT下载站迁移前后网站架构图如图2所示,左边是IPv4 BT下载站的架构,右边是IPv6 BT下载站的架构。

图2 东北大学BT下载站迁移前后网站架构
  在之前的网站架构中,我们使用Apache作为Web服务器发布资源索引,并使Tracker服务器直接对外提供服务。在新的架构中,我们将Web服务器更换为轻量级的Lighttpd,以FastCGI方式运行PHP,使服务器更节省资源,支持更高的负载。同时在原Tracker服务器前端放置Nginx作为Tracker服务器的反向代理,便于今后为Tracker服务器做水平分布扩展。
  1.实现Lighttpd支持IPv6
  Lighttpd是一个专门为高性能网站提供安全、快速、兼容性好并且灵活的Web Server环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。默认情况下Lighttpd监听在0.0.0.0:80,也就是说只监听IPv4端口,不监听IPv6的端口Lighttpd的配置文件lighttpd/lighttpd.conf默认并不提供IPv6配置选项。
  我们可以通过修改配置文件,增加IPv6相关配置以实现Lighttpd支持IPv6,打开Lighttpd的配置文件
lighttpd/lighttpd.conf,在适当的位置加入一条配置语句:server.use-ipv6 = "enable"。之后重新启动Lighttpd,会发现他现在已经监听在:::80了,说明支持IPv6的访问了。
  2.使用Nginx支持IPv6
  Nginx是一个轻量级的HTTP服务器,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。在0.7.36之前,Nginx还不支持监听IPv6端口,在0.7.36版本里,Nginx的HTTP模块加入了IPv6的支持,开始支持监听IPv6端口,允许IPv6的访问。
  使Nginx支持IPv6不如Lighttpd那么方便,需要重新编译Nginx的代码,并在编译配置选项中加入:“--with-ipv6”以支持IPv6。编译安装完成后,还需将原配置文件listen部分配置为IPv6的地址:“listen [::]:6969;”。然后重新启动Nginx。
 3.修改索引页与Tracker代码
  IPv6的地址与IPv4的地址相比,在长度上,以及地址格式上都不一样,虽然IP索引页与Tracker代码属于应用层的范围,不属于网络层,但其中许多代码写法与IPv4地址有关。
  例如代码中的用户来源地址合法性验证、安全审核、日志记录等涉及到IPv4地址格式的代码,需一一修改,使他们支持IPv6的地址长度与地址格式。
  4.使用uTorrent作为BT客户端
  由于目前在IPv4网络中流行的迅雷、BitComet、FlashGet等下载软件不支持IPv6,因此我们建议用户使用支持IPv6网络的uTorrent作为BT下载客户端。
.


1楼2016-10-13 11:25回复
    很专业,学习了


    3楼2016-10-21 16:05
    回复
      楼主太腻害,真的是很专业,学习了很多内容。


      6楼2016-10-21 16:38
      回复
        楼主很细心啊,感谢分享,问题解决啦!


        7楼2016-10-24 11:41
        回复