第一章 TUX是什么 ?
第二章 安装TUX
第三章:配置
第四章:安全性
第五章、用户-空间可装入模块
第一章 TUX是什么 ?
TUX是基于GNU公众许可证下的,建立于核心网络服务器.
它现在限于服务静态的网页并且与核心空间模块、用户空间模块、特定用户空间的网络服务器守护进程协调以提供动态的内容.不管怎样,特定用户空间的网络服务不需要被改变 ,TUX能够与他们协调.然而、用户空间代码不得不使用一个新的以TUX(2)系统调用为基准的接口.
虽然动态内容正在成为日益流行的服务,但是还存在大量静态内容服务的需要.例如:几乎所有的图象是静态的.TUX可以很有效地从 linux核心那里得到静态内容的服务.一个类似的操作已经被网络文件系统(网络文件系统)守护进程于核心运行.
TUX也有高速缓冲动态内容的能力.TUX模块(可以插入核心空间或用户空间;推荐用户空间)可以创造充分利用页高速缓冲存储器的"对象 ".为响应一个动态数据的请求,一TUX模块可以发送一个混合的动态合成数据并且高速缓冲预产生的对象,以此将TUX零副本体系结构的优越性最大化
这个新的体系结构为了服务动态的内容,需要一个新的应用编程接口.当前的那些面向公共网关接口的应用编程接口,不能充分地映射到TUX的API上.因此、现有的公共网关接口应用在 TUX处理他们之前被转换.如果那些公共网关接口应用程序不需要TUX的加速,TUX可以按照那些CGI应用程序的通常执行方式来处理.这个被TUX的公共网关接口模块所执行.TUX还可以通过重定向处理综合的要求到另一个网络服务器守护进程,比如Apache.换句话说、静态的内容、TUX模块、旧式的CGI应用程序,和为其他的webservers而书写的程序,可以明确地同TUX在一样的web系统上运转.
总之,在TUX及其他webservers之间的差异包括∶
1、TUX的部分运行在可定制的2.4.x或较高版本的核心内,另一部分作为用户-空间守护进程运行.
2、充分利用网卡的能力,TUX能直接从页高速缓冲存储器通过DMA方式将数据传输到网络,从而避免数据多余拷贝.
3、当 TUX不确定如何处理一个请求,或者收到一个请求是它不能处理的,它总是重定向请求到用户-空间网络服务器守护进程,用RFC兼容的的方式进行处理.这个用户-空间网络服务器守护进程很好的一个例子是Apache.关于TUX或这文档的疑问或备注,参加tux list@_redhat.com>邮寄列表关于邮寄列表说明,请参见 http://www.redhat.com/mailing - lists/.
也可以访问Red Hat TUX网络服务器服务支持页http://www.redhat.com/services/techsupport/application/tux.html
TUX 2.1新的特色
TUX 2.1版本是TUX 1.0的升级,并且保持与用户-空间模块的源代码级兼容性.增强的特性包括:
1、真正的零拷贝磁盘读取:鉴于TUX 1.0将数据拷贝进入临时的缓冲,TUX 2.1和页高速缓冲存储器结合起来,从而运用零拷贝的I/O块操作.
2、通用的零拷贝网数据络写操作:TUX 2.1运用通用的零拷贝TCP框架.
3、零-拷贝分析:TUX分析哪里是可能的直接输入分组.即使在随机存取存储器的有限状态里,TUX能完全的行使 back-to-back的零拷贝I/O功能.
其他的变化包括:
4、增强用户-空间工具和模块支持.
5、多虚拟主机支持,添加了基于主机的虚拟服务器支持.除了RAM和磁盘空间的限制外,理论上对虚拟主机的数量没有限制.
6、可以将执行的CGI绑定到指定CPU上.
7、修正了一些可能引起性能问题的BUG.
系统环境需求摘要
1、针对TUX定制的Linux内核2.4或者更高的版本系列.
2、x86, Alpha, IA64 or PowerPC/64硬件平台, PowerPC/32也可以,但是在Sparc尚未测试过
3、同一系统中有类似Apache这样的通用Web服务器,用来处理TUX不能处理的请求.
当前版本限制
TUX仅能在统一服务器上调用其他更强大的web服务器来处理特殊请求,在将来的版本里,可以将这些请求通过轮转算法重定向到一组服务器中.
第二章 安装TUX
这一章描述如何进行TUX的安装.安装介绍:
1、为了进一步优化服务性能,建议将静态文档的根目录存放在独立的RAID分区中.
2、如果TUX没有被编译进内核,那么经过配置和重新编译将它编译到内核里.
3、使用rpm -Uvh tux-2.1.0-2.i386.rpm命令安装TUX相关的包.
4、将index.html创建在 /var/www/html目录下,作为系统缺省根目录.
5、使用/etc/rc.d/init.d/tux start 命令启动TUX ,如果你使用的不是redhat系统,请使用该目录下的./tux.init命令启动,启动后通过浏览器测试你的http://localhost/是否正常.
的TUX发行版可以从http://people.redhat.com/~mingo/TUX-patches/下载,安装TUX升级包可以使用以下步骤进行:
1、下载最新的TUX补丁和工具包2、使用patch -p0 < tux2-full-2.4.2-X6 在2.4.2内核上打上TUX补丁.
3、执行 make oldconfig 使能TUX的内核功能,然后编译、导入TUX核心.
4、编译、安装用户空间工具包,这里tux-2.0.25.tar.gz为你要安装的TUX软件包版本.
tar xzvf tux-2.0.25.tar.gz
cd tux-2.0.25
make
make install
5、在 /var/www/html创建index.html文件,作为TUX的缺省文档根目录
6、使用/etc/rc.d/init.d/tux start 命令启动TUX ,如果你使用的不是redhat系统,请使用该目录下的./tux.init命令启动,启动后通过浏览器测试你的http://localhost/是否正常.
日志文件
对于每一个web请求,TUX的日志系统会精确的记录,包括;请求者地址、时戳(精确到秒)、请求的指定文件、传输的文件尺寸以及请求的最终状态.
面向TUX的日志文件以二进制方式格式被保存在/var/log/tux下.在这个二进制格式文件中,日志文件大约只有标准ASCII文本日志文件尺寸的50%.要使用命令
/usr/sbin/tux2w3c /var/log/tux
查看日志文件.tux2w3c程序将二进制的日志文件转换成标准w3c格式--符合全球网服务器软件日志文件的标准.如果你想保存输出的美国信息交换标准码,你可以重定向输出到文件∶
/usr/sbin/tux2w3c /var/log/tux > tux.log
在那里日志输出文件以tux.log命名.
输出的范例:
195.4.12.3 - - Fri Nov 9 01:05:56 2001 "GET /test.html HTTP/1.1" - 53 200
195.4.12.3 - - Fri Nov 9 01:06:10 2001 "GET / HTTP/1.1" - 2890 200
255.255.255.255 - - Fri Nov 9 01:06:10 2001 "GET /icons/apache_pb.gif HTTP/1.1" - 0 404
195.4.12.3 - - Fri Nov 9 01:06:10 2001 "GET /poweredby.png HTTP/1.1" - 1154 200
195.4.12.3 - - Fri Nov 9 01:06:04 2001 "GET /test.html HTTP/1.1" - 53 200
195.4.12.3 - - Fri Nov 9 01:06:22 2001 "GET /manual/index.html HTTP/1.1" - 5557 200
195.4.12.3 - - Fri Nov 9 01:06:04 2001 "GET /test.html HTTP/1.1" - 53 200
195.4.12.3 - - Fri Nov 9 01:06:22 2001 "GET /manual/images/apache_header.gif HTTP/1.1" - 4084 200
195.4.12.3 - - Fri Nov 9 01:06:04 2001 "GET /test.html HTTP/1.1" - 53 200
195.4.12.3 - - Fri Nov 9 01:06:22 2001 "GET /manual/images/pixel.gif HTTP/1.1" - 61 200
195.4.12.3 - - Fri Nov 9 01:06:04 2001 "GET /test.html HTTP/1.1" - 53 200
195.4.12.3 - - Fri Nov 9 01:06:26 2001 "GET /manual/invoking.html HTTP/1.1" - 1 200
195.4.12.3 - - Fri Nov 9 01:06:04 2001 "GET /test.html HTTP/1.1" - 53 200
195.4.12.3 - - Fri Nov 9 01:06:35 2001 "GET /manual/stopping.html HTTP/1.1" - 1 200
195.4.12.3 - - Fri Nov 9 01:06:04 2001 "GET /test.html HTTP/1.1" - 53 200195.4.12.3 - - Fri Nov 9 01:06:37 2001 "GET /manual/howto/ssi.html HTTP/1.1" - 18523 200
195.4.12.3 - - Fri Nov 9 01:06:41 2001 "GET /manual/new_features_1_3.html HTTP/1.1" - 34531 200
第三章:配置
这章描述如何配置TUX网络服务器.
操作方法
推荐运行方式是将TUX作为主Web服务器,Apache作为辅助的Web服务器.
Client Port: 8080 (or other)
Web Server Port: 80
推荐方式中TUX是主Web服务器,用户-空间守护进程的配置转换为使用端口8080.关于 Apache的配置,通过改变配置文件
/etc/httpd/conf/httpd.conf
中相应的行来进行:
Port 80
改为
Port 8080
安全原因,行
BindAddress *
将应转换为
BindAddress 127.0.0.1
这会防止外来的用户直接地从Apache访问.为了使转换生效,你重新启动 Apache,可以使用命令/etc/rc.d/init.d/httpd.
相对的模式是将用户-空间守护进程Apache作为主Web服务器,TUX作为辅助的Web服务器.
Client Port: 80
Web Server Port: 8080 (or