我收集的轻量级web服务器

2019-03-19丨运维丨暂无评论 丨971 次阅读

要说Linux 下的 http 服务器,不能提到 Apache,nginx,Lighttpd除此之外,还有caddy后起之秀 。
不过,如果只是展示一些静态 html,这些软件还是过于庞大和复杂了。
下面是收集的一些超轻量级的web服务器:

thttpd

官方网站:http://www.acme.com/software/thttpd/

thttpd是一个非常小巧的轻量级web server,它非常非常简单,仅仅提供了HTTP/1.1和简单的CGI支持,在其官方网站上有一个与其他web server(如Apache, Zeus等)的对比图+Benchmark,可以参考参考。此外,thttpd 也类似于lighttpd,对于并发请求不使用fork()来派生子进程处理,而是采用多路复用(Multiplex)技术来实现。因此效能很好。

Thttpd支持多种平台,如FreeBSD, SunOS, Solaris, BSD, Linux, OSF等。对于小型web server而言,速度快似乎是一个代名词,通过官方站提供的Benchmark,可以这样认为:thttpd至少和主流的web server一样快,在高负载下更快,因为其资源占用小的缘故。

Thttpd还有一个较为引人注目的特点:基于URL的文件流量限制,这对于下载的流量控制而言是非常方便的。象Apache就必须使用插件实现,效率较thttpd低。

shttpd

官方网站:http://sourceforge.net/projects/shttpd/

Shttpd是另一个轻量级的web server,具有比thttpd更丰富的功能特性,支持CGI, SSL, cookie, MD5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是不需要配置文件!由于shttpd可以嵌入其他软件,因此可以非常容易的开发嵌入式系统的 web server,官方网站上称shttpd如果使用uclibc/dielibc(libc的简化子集)则开销将非常非常低。


Darkhttpd

Darkhttpd是一个超小型的静态 html 服务器,编译后,只有一个大小仅为 36K 的 darkhttpd 可执行文件,参数极为简单。

yum install git -y #centos使用
apt-get install git -y #debian使用

最简单的使用方法:

./darkhttpd /root --port 8081 --daemon

./darkhttpd #运行darkhttpd服务
/root #darkhttpd服务器的主目录位置
--port 8081 #访问端口,一般都用80,不过随你便,其他端口需要ip+端口访问
--daemon #后台运行

在默认端口上服务/var/www/htdocs(80以root身份运行,否则为8080):

$ ./darkhttpd /var/www/htdocs
在8081端口上服务~/public_html:

$ ./darkhttpd ~/public_html --port 8081
仅绑定到一个IP地址(在多宿主系统上有用):

$ ./darkhttpd ~/public_html --addr 192.168.0.1
最多可同时连接4个连接:

$ ./darkhttpd ~/public_html --maxconn 4
日志访问文件:

$ ./darkhttpd ~/public_html --log access.log
Chroot为了额外的安全性(您需要root权限chroot):

$ ./darkhttpd /var/www/htdocs --chroot
使用default.htm而不是index.html:

$ ./darkhttpd /var/www/htdocs --index default.htm
添加mimetypes - 在这种情况下,将.dat文件作为text / plain提供:

$ cat extramime
text/plain dat
$ ./darkhttpd /var/www/htdocs --mimetypes extramime
删除权限:

$ ./darkhttpd /var/www/htdocs --uid www --gid www
使用acceptfilter(仅限FreeBSD):

$ kldload accf_http
$ ./darkhttpd /var/www/htdocs --accf
在后台运行并创建一个pidfile:

$ ./darkhttpd /var/www/htdocs --pidfile /var/run/httpd.pid --daemon
Web转发(301)请求一些主机:

$ ./darkhttpd /var/www/htdocs --forward example.com http://www.example.com \
--forward secure.example.com https://www.example.com/secure
Web转发(301)请求所有主机:

$ ./darkhttpd /var/www/htdocs --forward example.com http://www.example.com \
--forward-all http://catchall.example.com

命令行选项可以组合:

$ ./darkhttpd ~/public_html --port 8080 --addr 127.0.0.1

要查看完整的命令行选项列表,运行darkhttpd,不带任何参数即可:

$ ./darkhttpd

热门文章

最新回复

标签

发表新评论