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 低。
下载最新版本源码包,下载地址:http://www.acme.com/software/thttpd/,本文以 thttpd-2.26.tar.gz 版本为例,点击如下链接下载。
命令中的“~”表示当前用户目录,比如在 Linux 主机上工作的用户是:veryarm,那么命令中的“~”就代表路径:/home/veryarm/目录。
打开Makefile文件后,修改 CC 变量的值,修改后如下:
其中,
CC: 指定交叉编译工具,一般为 arm-none-linux-gnueabi-gcc、arm-linux-gnueabihf-gcc、arm-linux-gcc等,具体要和目标板用的交叉编译工具对应。
同样的方法,将 cgi-src 和 extras 目录下 Makefile 中的 CC 的值改为目标板的交叉编译器,如本例的 arm-none-linux-gnueabi-gcc。
make 后,当前目录下会生成文件:thttpd ,同样我们还需要用到 contrib/redhat-rpm/thttpd.conf 文件。
将生成的 thttpd 复制到目标板 /usr/sbin 目录,thttpd.conf 复制到目标板 /etc 目录,并添加 thttpd 为可执行:
使用 vi 打开 thttpd.conf 文件,并进行配置,如下配置我们仅将“user=httpd”改为“user=root”:
再在目标板上新建 /home/httpd 和 /home/httpd/html 两个目录,并修改权限为755:
切换到 /home/httpd/html 目录下,并新建一个 index.html 文件。
内容为:
保存退出,然后将 index.html权限改为 644:
配置完之后,在目标板上打开 thttpd,命令:
注意,后面还有一个 &。如果要让 thttpd 开机启动,可以将该命令添加到 /etc/profile 或者 rc.local 文件最后。
----------------------------
安装完了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 文件最后。
相关文章推荐
- web服务器thttpd的移植
- thttpd源码解析 定时器模块
- 轻量型thttpd+php5 推荐
- thttpd+php 不加载php.ini 问题
- 搭建 thttpd 服务器
- hibernate4之 配置(一)
- tomcat安装配置测试
- 软件测试之配置测试
- 网络异常检查
- 网络编程:Reactor与Proactor的概念
- UDP和TCP的区别(详细)
- TCP在三次握手协议和四波(图)
- Java安全通信:HTTPS与SSL
- 【Android开发】网络编程及Internet应用-使用HttpClient访问网络
- Restful Web Service - Http应用层的协议
- TCP close_wait 状态的解释
- 【Android开发】网络编程及Internet应用-通过HTTP访问网络
- 金融数据中心—容灾备份传输解决方案
- 安卓通过网络获得北京时间
- SNMP MIB完整手册