基於arm的嵌入式boa伺服器移植

2021-07-14 04:31:52 字數 2571 閱讀 4812

cd src/

內容如下:

修改makefile檔案,修改部分配置如下:

cc = arm-linux-gcc

cpp = arm-linux-gcc –e

將compat.h檔案的:

#define timezone_offset(foo) foo##->tm_gmtoff
修改為

#define timezone_offset(foo) foo->tm_gmtoff
修改config.c檔案,利用if 0 (或者/* */)注釋掉下面的**段:

#if 0

if (mime_types)

#endif

修改boa.c檔案,利用if 0 (或者/* */)注釋掉如下兩段**:

#if 0        

if (passwdbuf == null)

#endif

...#if 0

if (setuid(0) != -1)

#endif

修改中cgi.c中的complete_env函式新增語句:

my_add_cgi_env(req,」ld_library_path」, 「/lib」);

至此原始碼包的配置完成。

1、在makefile所在目錄執行make命令生成boa可執行程式

make

此時編譯生成對應的主要檔案有:

1)src檔案目錄下的 boa、boa_indexer

2)根目錄下的boa.conf(用於配置boa伺服器對應引數)

2、在開發板上面建立檔案目錄如下:

├── boa

├── boa

├── boa.conf

├── boa_indexer

├── cgi-bin

│ ├── led.c

│ ├── led.cgi

├── log

│ ├── access_log

│ └── error_log

├── mime.types

└── www

└──index.html

其中boa、boa.conf和boa_indexer為ubuntu下編譯生成的檔案,將其拷貝至此,mime.types檔案為開發板的系統檔案/etc/mime.types,將其拷貝至boa資料夾下面。

3、之後的配置在開發板上完成即可,進入剛才新建的boa/資料夾目錄

vi boa.config

修改內容如下:

...

port 8080

... user 0

group 0

... errorlog /boa/log/error_log

...accesslog /boa/log/access_log

...servername 192.168

.31.102(你的開發板ip)

...documentroot /boa/www

...directorymaker /boa/boa_indexer

...mimetypes /boa/mime.types

...scriptalias /cgi-bin/ /boa/cgi-bin/

注意:去掉注釋 #servername www.your.org.here,修改為servername ***.***.***.***(你的開發板ip)。

至此開發板上boa伺服器配置完成。

1、嘗試編寫 index.html 檔案放到開發板上的 boa/www/ 資料夾下,index.html內容如下:

body>

html>

2、修改開發板ip所在網段(和主機同一網段),同時為開發板連上網路,或者通過網線和主機相連,使得主機和開發板可以ping得通。此時我的開發板ip是 192.168.31.102。

3、在boa/資料夾下面執行boa可執行程式

./boa

通過ps可以檢視後台程序,如果有則boa正常啟動

4、主機開啟瀏覽器輸入開發板ip以及之前在boa.conf設定的對應埠號,可以訪問我們的boa伺服器,預設訪問index.html。例如:

嵌入式linux部署boa伺服器

在web伺服器中,較為常用的是tomcat,nigix。但是這種伺服器比較大,占用資源比較多,並不適合於嵌入式裝置中。而boa是乙個很輕便的web伺服器,部署簡單,占用資源少,支援多種語言。2.配置boa的編譯環境 安裝bison sudo apt get install bison安裝flex s...

交叉編譯嵌入式web伺服器boa

步驟大部分都一樣吧,只是交叉編譯器會有不同.第一步boa 程式的移植 目標板為xscale pxa270 交叉編譯器arm linux gcc 去網上下了乙份源 http www.boa.org cgipath the value of the path environment variable g...

嵌入式web伺服器BOA原始碼解析

boa是乙個單程序的web伺服器,支援cgi互動,瀏覽器每次傳送乙個poat請求,boa會對應fork乙個cgi程序,資料傳送完成後,cgi程序退出,儘管存在這樣的程序建立和銷毀的開銷,但boa仍然是一款輕量級的web伺服器,適用於需要較為簡單的web頁面訪問。下面對boa的主要部分進行 分析,包含...