讓Tiny服務器運行起來
之前寫了《深入理解計算機系統》一書中的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.後續的操作與方法一是一樣的,不再贅述