前言

本系列将带领大家看一些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

Index

Welcome to J. David's webserver.

CGI demo

Enter a color:

得到服务器返回的信息:正文内容是Welcome to J. David's webserver. 有桌面环境的话也可以直接在浏览器输入 127.0.0.1:58197 访问.(如果是远程连接的话要使用 ip:58197进行访问,前提是要打开服务器的58197端口)

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: