前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Althttpd初体验

Althttpd初体验

原创
作者头像
一介程序员
发布2022-01-08 17:26:26
2.2K2
发布2022-01-08 17:26:26
举报
文章被收录于专栏:写两行代码放松下

0x00 简介

Althttpd是SQLite 作者最新开源的 Web 服务器,我们可以先来看下这个项目的时间线。

时间线
时间线

可以看出来开源工作是最近才开始的,但是实际上 althttpd 从 2004 年开始就在支撑 https://sqlite.org/ 网站的运行,althttpd 的设计目标就是为了简单、安全同时低资源消耗。

在 2018 年,http://sqlite.org 每天要响应 50 万的 HTTP 请求,而只用了价值 40 美金的服务器,而且服务器处于很低的负载(0.1 或者 0.2),可以看出其性能还是不错的。

我们来看下 althttpd 的代码,项目实际只有一个 c 文件,整体行数也不多,是一个非常不错的学习项目。

上面这段引用自这里 ,最新内容也可以直接访问这里

0x01 跑起来看看

本次测试使用一台轻量服务器,系统镜像为 CentOS 8.2

  1. 下载源码 althttpd.c
  2. 编译源码 gcc -Os -o /usr/bin/althttpd althttpd.c
  3. 新建目录 ~/www/default.website,在目录中创建一个HTML文件index.html
  4. 运行命令 althttpd -root ~/www/ -port 80 -user ftp

0x02 补充说明

  1. althttpd的逻辑是,如果我访问是的 abc.com这个域名,它就会去找 abc.website这个目录里面的内容,如果没找到,就使用default.website。所以我这里直接使用default.website目录测试。
  2. 上面步骤4里面,我指定了使用ftp用户运行,原因是我一开始没指定用户,使用的是root用户登录运行,提示我不能使用root用户,所以我就随便用了个系统内置的用户跑一下试试。实际使用的时候,可以专门创建一个用户。
  3. 我这里让althttpd独立运行, 自身监听80端口,但是好像官方的建议是从 xinetdstunnel4 启动,这里我就不折腾了。

0x03 最后

这个东西有啥用呢,其实一般情况下也没啥用。

这个内存占用是真的低:

没人访问的时候
没人访问的时候
一个人访问一次的时候
一个人访问一次的时候

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 简介
    • 0x01 跑起来看看
      • 0x02 补充说明
        • 0x03 最后
        相关产品与服务
        云服务器
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档