前言
本系列将带领大家看一些C语言的优秀的开源项目,并逐步深入讲解源码,感兴趣的可以点击关注、收藏,有问题及时在评论区评论~
Tinyhttpd 介绍
Tinyhttpd 是一个非常轻量级的 web server,总共只有500多行代码,非常适合作为初学Linux C网络编程的参考开源代码。
Tinyhttpd 下载、安装
Windows 下载
从Tinyhttpd官网进去后,点击最后一行的project page,在新页面点击 Download 进行下载。 下载成功后,将压缩包解压,解压成功后可以看到如下的源码目录
Linux下载、解压
从Tinyhttpd官网进去后,点击最后一行的project page,在新页面点击 Download 进行下载。
命令行执行
tar -zxvf tinyhttpd-0.1.0.tar.gz(这个是下载的压缩包名)
然后在执行目录下就可以看到一个 tinyhttpd-0.1.0 的目录
项目编译 & 使用
项目编译
编译需要在 Linux 环境下进行,直接make即可,报如下错
一顿百度后,发现 httpd.c 里有官方注释: 按照官方提示的,注释掉如下内容
#include
pthread_create() 的调用
newthread 变量的定义
并将 accept_request 的调用解注释 最后在 Makefile 中删除掉 -lsocket 的编译选项 再次执行 make,编译成功
项目使用
运行可执行文件 httpd ./httpd 此时一个本地 web服务器就运行起来了,端口58197,这个时候我们用 curl工具访问该服务器:
gyy@raspberrypi:~ $ curl localhost:58197
Welcome to J. David's webserver.
CGI demo
得到服务器返回的信息:正文内容是Welcome to J. David's webserver. 有桌面环境的话也可以直接在浏览器输入 127.0.0.1:58197 访问.(如果是远程连接的话要使用 ip:58197进行访问,前提是要打开服务器的58197端口)
推荐阅读
发表评论