讓Tiny伺服器執行起來

2021-12-30 05:12:53 字數 1099 閱讀 7767

之前寫了《深入理解計算機系統》一書中的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的一些知識,所以我就試一下用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.後續的操作與方法一是一樣的,不再贅述

讓Erlang伺服器後台執行

讓erlang伺服器後台執行 erlang預設執行時是帶有終端的,在開發過程中可以很方便的檢查程式的bug,但在開發完成後,應該以後臺的方式執行服務。noshell 該引數關閉終端,但依然不會後台執行,有輸出時會直接列印到當前螢幕 noinput 禁止終端下的輸入 hidden 隱藏執行 detac...

讓ASP程式在伺服器中自動執行

有時候希望asp 中的某個頁面能夠定時執行,可以通過windows的計畫任務來實現 一 生成計畫任務能夠執行的vbs 例子如下 dim ie set ie ie.n igate ie.visible 1 set ie nothing 上面的a.asp就是定時執行的頁面 儲存成乙個vbs字尾的檔案,比...

執行ROS伺服器

描述如何執行abb ros伺服器,因此機械人將執行從ros客戶端節點傳送的動作命令。如安裝ros伺服器中所述,abb ros伺服器包含3個任務。在上乙個教程中,其中2個任務被配置為semistatic 後台 任務,第3個任務是normal任務。以下部分描述了如何執行abb ros伺服器任務,以允許外...