让Tiny服务器运行起来


之前写了《深入理解计算机系统》一书中的Tiny服务器的源码解析,但是书中并没有介绍如何运行Tiny,下面就介绍下怎么让Tiny运行起来。

Tiny的源文件有tiny.c、csapp.c和csapp.h三个。另外要在根目录下新建cgi-bin目录用于存放CGI程序。

深入理解计算机系统(原书第2版) PDF清晰中文版 

方法一:

1.将所有源文件tiny.c、csapp.c和csapp.h放在同一个目录下。另外在同一目录下放置photo.jpg作为测试文件。使用命令:

$gcc -o tiny tiny.c csapp.c -lpthread

  注:加-lpthread是因为csapp.c中有些函数用了多线程库
2.将测试用CGI程序放到cgi-bin目录下,并编译成可执行程序

$gcc -o adder adder.c

3.运行Tiny程序,并指定端口号(1024–49151可用,其它为知名端口)

$./tiny 1024

4.现在Tiny已经运行起来了,打开浏览器就可以访问了
访问静态内容
这里写图片描述
访问动态内容
这里写图片描述

方法二:使用Makefile完成Tiny的编译链接:

前一段时间看过Makefile的一些知识,所以我就试一下用make命令来运行Tiny。

1.与方法一不同的是,在工作目录下新建include目录,把csapp.h放置到该目录下。然后编写Makefile如下

CFLAGS= -Wall -g -I./include 
LIBS=-lpthread

tiny: tiny.o csapp.o 
    cc -o tiny tiny.o csapp.o $(LIBS)

clean:
    rm *.o tiny 

  Makefile中使用CFLAGS设置编译参数并指定头文件的位置为./include。用LIBS指定要链接的库。
2.在工作目录中输入命令make,即可完成Tiny的编译链接。
这里写图片描述
3.后续的操作与方法一是一样的,不再赘述

本文永久更新链接地址

相关内容