linux下Tinyhttpd安装运行

  • Post author:
  • Post category:linux




tinyhttpd – 超轻量型 Http Server


tinyhttpd 全部代码在500 行左右,是一个超轻量型 Http Server,这是是学习C/C++入门非常棒的一个开源项目,可以帮助我们真正理解服务器程序的本质。无论是 unix 的编程,还是 GET/POST 的 Web 处理流程,都清晰了不少。

(水平有限,如有错误之处,欢迎指正)

首先确保你的Linux环境:

如果之前运行过其他类似的工程则无需在配置

sudo apt-get update
sudo apt-get install geany
sudo apt-get install make
sudo apt-get install gcc

此处我认为你已经将Linux环境按照要求配置好了



开始

首先下载工程:https://github.com/EZLippi/Tinyhttpd

下载后得到一个tar.gz结尾的压缩包,解压缩就可以。不过我们还不能直接用还需要对这些文件进行一些修改。



第一步:修改httpd.c文件

在这里插入图片描述


首先在这个文件中注释掉 #include <pthread.h>


在这里插入图片描述

接着往下,

> //pthread_t newthread; //注释掉该变量 accept_request(client_sock);// 去掉该处注释
> //if (pthread_create(&newthread , NULL, accept_request, client_sock)
> != 0) //perror("pthread_create");// 注释掉这两行

在这里插入图片描述

**



第二步:修改htdocs文件中的check.cgi文件和color.cgi文件

**

两个cgi文件都只需要修改第一行的 #!/usr/local/bin/perl -Tw

我们首先要查到虚拟机上的perl位置(用which perl查询)

在这里插入图片描述

如图命令可以查询到,然后修改成#!/usr/bin/perl -Tw



第三步、修改htdocs中文件权限

在终端中

cd htdocs//跳转到check.cgi和color.cgi文件夹下

sudo chmod 600 index.html  

sudo chmod 764 color.cgi check.cgi  



第四步、修改makefile文件

all: httpd client

LIBS = -lpthread 

httpd: httpd.c

	gcc -g -W -Wall -pthread $(LIBS) -o $@ $<

client: simpleclient.c

	gcc -W -Wall -o $@ $<

clean:

	rm httpd



编译

而后在tinyhttpd目录下直接make

如果出现make: Nothing to be done for `all’

则make clean 而后再次make



运行 ./httpd

在这里插入图片描述

运行之后会出现一串数字4000,复制这串数字在浏览器中输入127.0.0.1:4000



版权声明:本文为weixin_46195203原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。