您的位置:首页 > 理论基础 > 计算机网络

thttpd嵌入式服务器安装,配置 测试

2015-06-08 16:59 771 查看
文章来自VeryARM:http://www.veryarm.com/1306.html

----------------------------

安装完了thttpd之后 服务器可以运行,但是在thttpd.conf中设置的服务器根目录就是不对应,不知道是哪里的问题,最后通过搜寻cgi-bin,找到了根目录的对应路径在/srv/www下,让我好找一通,最后测试通过,可以正常显示网页,对于cgi的测试,有一部分显示乱码
不知道怎么回事。

下面参考的一篇文章,其实参考了多篇移植感谢作者。

thttpd 是一个小型的、简单的、可移植的、快速以及安全的
HTTP web服务器。thttpd 非常简单,仅仅提供了HTTP/1.1 和简单的 CGI 支持。在thttpd官方网站有一个与其他web server(如Apache、Zeus、Boa等)的对比表和Benchmark,可以参考:http://www.acme.com/software/thttpd/benchmarks.html。此外,thttpd
也类似于lighttpd,对于并发请求不使用fork()来派生子进程处理,而是采用多路复用(Multiplex)技术来实现。因此效能很好。

Thttpd支持多种平台,如FreeBSD, SunOS, Solaris, BSD, Linux, OSF等。对于小型web server而言,速度快似乎是一个代名词,通过官方站提供的Benchmark,可以这样认为:thttpd至少和主流的web
server一样快,在高负载下更快,因为其资源占用小的缘故。
Thttpd还有一个较为引人注目的特点:基于URL的文件流量限制,这对于下载的流量控制而言是非常方便的。象Apache就必须使用插件实现,效率较 thttpd 低。


1 下载

下载最新版本源码包,下载地址:http://www.acme.com/software/thttpd/,本文以 thttpd-2.26.tar.gz 版本为例,点击如下链接下载。





2 解压

$ mkdir ~/thttpd
$ cp thttpd-2.26.tar.gz ~/thttpd
$ cd ~/thttpd
$ tar xzf thttpd-2.26.tar.gz
$ cd thttpd-2.26/


命令中的“~”表示当前用户目录,比如在 Linux 主机上工作的用户是:veryarm,那么命令中的“~”就代表路径:/home/veryarm/目录。


3 配置

$ export PATH=$PATH:/usr/local/arm-2010q1/bin  # 交叉编译工具路径加入系统环境变量!
$ ./configure
$ vi Makefile


打开Makefile文件后,修改 CC 变量的值,修改后如下:
CC = arm-none-linux-gnueabi-gcc


其中,
CC: 指定交叉编译工具,一般为 arm-none-linux-gnueabi-gcc、arm-linux-gnueabihf-gcc、arm-linux-gcc等,具体要和目标板用的交叉编译工具对应。

同样的方法,将 cgi-src 和 extras 目录下 Makefile 中的 CC 的值改为目标板的交叉编译器,如本例的 arm-none-linux-gnueabi-gcc。


4 编译

$ make                  # 编译


make 后,当前目录下会生成文件:thttpd ,同样我们还需要用到 contrib/redhat-rpm/thttpd.conf 文件。


 5 复制文件

将生成的 thttpd 复制到目标板 /usr/sbin 目录,thttpd.conf 复制到目标板 /etc 目录,并添加 thttpd 为可执行:
$ cp thttpd /usr/sbin                       # 复制执行文件到目标板
$ cp thttpd.conf /etc/                      # 复制配置文件到目标板
$ chmod +x /usr/sbin/thttpd                 # 添加可执行权限


6 配置

使用 vi 打开 thttpd.conf 文件,并进行配置,如下配置我们仅将“user=httpd”改为“user=root”:
# This section overrides defaults
dir=/home/httpd/html
chroot
user=root
# default = nobody
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
# This section _documents_ defaults in effect
# port=80
# nosymlink# default = !chroot
# novhost
# nocgipat
# nothrottles
# host=0.0.0.0
# charset=iso-8859-1


再在目标板上新建 /home/httpd 和 /home/httpd/html 两个目录,并修改权限为755:
$ mkdir /home/httpd /home/httpd/html
$ chmod 755 /home/httpd
$ chmod 755 /home/httpd/html


切换到 /home/httpd/html 目录下,并新建一个 index.html 文件。
$ cd /home/httpd/html
$ vi index.html


内容为:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>VeryARM Home Page</title>
</head>
<body>
<h1>Hello VeryARM Visitor!</h1>
<p>We are coming from one world, welcome here!</p>
</body>
</html>


保存退出,然后将 index.html权限改为 644:
$ chmod 644 index.html


7 开启thttpd

配置完之后,在目标板上打开 thttpd,命令:
thttpd -D -C /etc/thttpd.conf &


注意,后面还有一个 &。如果要让 thttpd 开机启动,可以将该命令添加到 /etc/profile 或者 rc.local 文件最后。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息