之前写了《深入理解计算机系统》一书中的Tiny服务器的源码解析,但是书中并没有介绍如何运行Tiny,下面就介绍下怎么让Tiny运行起来。
Tiny的源文件有tiny.c、csapp.c和csapp.h三个。另外要在根目录下新建cgi-bin目录用于存放CGI程序。
方法一: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.后续的操作与方法一是一样的,不再赘述