最新消息:

Darkhttpd-超小型静态http服务器

tools admin_ad 61浏览 0评论

在搭建很多服务器过程中,我们一般都使用Apache或者Nginx来搭建,但是很多情况下我们并不需要这么复杂的软件,或许只是想展示一个http页面或者ftp列表而已,我得去安装apache或者nginx,这不是更加复杂吗?

所以我介绍一下Darkhttpd服务器,一个超小型静态http服务器,编译之后仅36KB,却能完成ftp和http的功能。

直切主题:

如何编译darkhttpd?
———————
先在服务器安装git,然后获取所有文件:

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

———————
下面是通用安装代码:

git clone https://github.com/4kercc/darkhttpd.git #然后获取所有文件
cd darkhttpd #进入目录
make #编译

这样就安装完成了。是不是很简单?。

以后使用更简单,因为你已经编译过了,直接把/darkhttpd/目录下的darkhttpd文件保存一份,下次其他直接使用该文件即可(别忘记权限。)

最简单的使用方法:

./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

———————

一般也就用得着最上面那句话了,下面的都是我机翻的。可能不太准确,我把地址贴上来:

我的GitHUB地址:  GitHUB

作者地址: Darkhttpd

这个服务器可以和aria2的webui集合在一起,这样就能分散aria2的下载压力,aria2用6800端口,darkhttpd用6801端口,就能搭建在线webui了。当然,具体的感兴趣可以自行研究。这个darkhttpd功能远比想象中强大。

特点:单进程命令行即可启动,无需配置。

darkhttpd/1.10, copyright (c) 20032014 Emil Mikulic.
usage: ./darkhttpd /path/to/wwwroot [flags]
flags: –port number (default: 8080, or 80 if running as root)
Specifies which port to listen on for connections.
Pass 0 to let the system choose any free port for you.
–addr ip (default: all)
If multiple interfaces are present, specifies
which one to bind the listening port to.
–maxconn number (default: system maximum)
Specifies how many concurrent connections to accept.
–log filename (default: stdout)
Specifies which file to append the request log to.
chroot (default: don‘t chroot)
Locks server into wwwroot directory for added security.
–daemon (default: don’t daemonize)
Detach from the controlling terminal and run in the background.
–index filename (default: index.html)
Default file to serve when a directory is requested.
–mimetypes filename (optional)
Parses specified file for extension-MIME associations.
–uid uid/uname, –gid gid/gname (default: don‘t privdrop)
Drops privileges to given uid:gid after initialization.
–pidfile filename (default: no pidfile)
Write PID to the specified file. Note that if you are
using –chroot, then the pidfile must be relative to,
and inside the wwwroot.
–no-keepalive
Disables HTTP Keep-Alive functionality.
–forward host url (default: don’t forward)
Web forward (301 redirect).
Requests to the host are redirected to the corresponding url.
The option may be specified multiple times, in which case
the host is matched in order of appearance.
–no-server-id
Don’t identify the server type in headers
or directory listings.

转载请注明:VPS驿站 » Darkhttpd-超小型静态http服务器

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址