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

来源:互联网 发布:中国抑郁症数据 编辑:程序博客网 时间:2024/05/21 00:14

文章来自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 版本为例,点击如下链接下载。

thttpd下载

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 defaultsdir=/home/httpd/htmlchrootuser=root# default = nobodylogfile=/var/log/thttpd.logpidfile=/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 文件最后。


0 0
原创粉丝点击