博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用thttpd做Web Server
阅读量:1982 次
发布时间:2019-04-27

本文共 1152 字,大约阅读时间需要 3 分钟。

httpd是busybox中自带的web server,功能弱,不支持认证和CGI。thttpd和boa都支持认证CGI,功能比较全,Boa是一个单任务的小型http服务器,设计的小型系统不要数据库操作,所以可以使用thttpd作为server.
1. 编译thttpd
    cc=armv5l-linux-gcc ./configure -host=arm.这里设置为交叉编译.
2. make
3. 拷贝 thttpd到osroot/usr/sbin,拷贝contrib/redhat-rpm/thttpd.conf 到osroot/etc,
4. 测试一下thttpd所需要的动态库,readelf -d thttpd
5. 要想运行thttpd,还需要libnss类动态库,thttpd 使用到 NSS (Name Service Switch),因此若没有 libnss类动态库,thttpd 在通过 /etc/passwd 去查询 UNIX user时,会看到:unknown user - usr, 原因是 thttpd 读不到 'usr' 用户,相应的处理代码在thttpd.c 的 main()函数里,这里thttpd可以加入libnss_compat.so和libnss_file.so两个动态库文件.
6. 默认情况下,thttpd不可以运行CGI,特别是动态编译的CGI程序,所以需要修改thttpd.conf的配置:
# This section overrides defaults
dir=/home/httpd/html
#chroot
#屏蔽chroot是为了运行动态编译的CGI
user=httpd# default = nobody
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
# This section _documents_ defaults in effect
port=81
#port参数用于更改端口号(可不改,若还运行了别的WEB服务器,则需用不同端口)
# nosymlink# default = !chroot
#symlinks
# novhost
cgipath=/cgi-bin/*
#声明CGI程序的目录,是以dir为根目录的路径
# nothrottles
# host=0.0.0.0
# charset=iso-8859-1
7. 在开发板上为thttpd创建一个独立的用户:httpd,并用此用户创建httpd服务的根目录html
最简单的测试方法不用配置文件,直接输入命令:
thttpd -p 80 -d /home/httpd/html -u root 启动

 

转载地址:http://ipwvf.baihongyu.com/

你可能感兴趣的文章
前端学习 -- 颜色
查看>>
前端学习 -- Css -- 字体的几个属性学习
查看>>
前端学习 -- Css -- 字体分类
查看>>
Shell脚本学习
查看>>
前端学习 -- Css -- 行间距
查看>>
前端学习 -- Css -- 文本样式
查看>>
前端学习 -- Css -- 盒子模式
查看>>
前端学习 -- Css -- 默认样式
查看>>
Effective Java -- 创建和销毁对象
查看>>
Effective Java -- 对于所有对象都通用的方法
查看>>
前端学习 -- Css -- 内联元素的盒模型
查看>>
前端学习 -- Css -- display和Visibility
查看>>
MyBatis循环Map(高级用法)
查看>>
Vue 源码中的一些辅助函数
查看>>
前端跨域真Easy,妈妈再也不用担心了
查看>>
微前端qiankun从搭建到部署的实践
查看>>
JAVA后端面试经历分享:阿里 字节 网易端 已拿offer
查看>>
什么是多线程?看我多线程七十二变,你能记住吗?
查看>>
通过“面试造火箭,工作拧螺丝钉”这个现象和网易小姐姐聊了会天
查看>>
Netty hello world 入门源码分析
查看>>