當前位置:首頁 » 編程軟體 » boa編譯

boa編譯

發布時間: 2022-01-17 22:40:06

『壹』 在linux中移植嵌入式Boa伺服器時出錯

第一步完成Boa程序的移植。從www.boa.org下載Boa源碼,當前最新版本為0.94.13,將其解壓並進入源碼目錄的src子目錄
# tar xzf boa-0.94.13.tar.gz
# cd boa-0.94.13/src
生成Makefile文件
# ./configure
修改Makefile文件,找到CC=gcc,將其改成CC = arm-linux-gcc,再找到CPP = gcc –E,將其改成CPP = arm-linux-gcc –E,並保存退出。
然後運行make進行編譯,得到的可執行程序為boa,將調試信息剝去,得到的最後程序只有約60KB大小。
# make
# arm-linux-strip boa
第二步完成Boa的配置,使其能夠支持CGI程序的執行。Boa需要在/etc目錄下建立一個boa目錄,裡面放入Boa的主要配置文件boa.conf。在Boa源碼目錄下已有一個示例boa.conf,可以在其基礎上進行修改,下面解釋一下該文件的含義:
#監聽的埠號,預設都是80,一般無需修改
Port 80
# bind調用的IP地址,一般注釋掉,表明綁定到INADDR_ANY,通配於伺服器的所有IP地址
#Listen 192.68.0.5
#作為哪個用戶運行,即它擁有該用戶的許可權,一般都是nobody,需要/etc/passwd中有
#nobody用戶
User nobody
#作為哪個用戶組運行,即它擁有該用戶組的許可權,一般都是nogroup,需要在/etc/group文
#件中有nogroup組
Group nogroup
#當伺服器發生問題時發送報警的email地址,目前未用,注釋掉
#ServerAdmin root@localhost
#錯誤日誌文件。如果沒有以/開始,則表示從伺服器的根路徑開始。如果不需要錯誤日誌,則用#/dev/null。在下面設置時,注意一定要建立/var/log/boa目錄
ErrorLog /var/log/boa/error_log
#訪問日誌文件。如果沒有以/開始,則表示從伺服器的根路徑開始。如果不需要錯誤日誌,則用#/dev/null或直接注釋掉。在下面設置時,注意一定要建立/var/log/boa目錄
#AccessLog /var/log/boa/access_log
#是否使用本地時間。如果沒有注釋掉,則使用本地時間。注釋掉則使用UTC時間
#UseLocaltime
#是否記錄CGI運行信息,如果沒有注釋掉,則記錄,注釋掉則不記錄
#VerboseCGILogs
#伺服器名字
ServerName www.hyesco.com
#是否啟動虛擬主機功能,即設備可以有多個網路介面,每個介面都可以擁有一個虛擬的Web服
#務器。一般注釋掉,即不需要啟動
#VirtualHost
#非常重要,HTML文檔的主目錄。如果沒有以/開始,則表示從伺服器的根路徑開始。
DocumentRoot /var/www
#如果收到一個用戶請求的話,在用戶主目錄後再增加的目錄名
UserDir public_html
#HTML目錄索引的文件名,也是沒有用戶只指明訪問目錄時返回的文件名
DirectoryIndex index.html
#當HTML目錄沒有索引文件時,用戶只指明訪問目錄時,boa會調用該程序生成索引文件然後
#返回給用戶,因為該過程比較慢最好不執行,可以注釋掉或者給每個HTML目錄加上#DirectoryIndex指明的文件
#DirectoryMaker /usr/lib/boa/boa_indexer
#如果DirectoryIndex不存在,並且DirectoryMaker被注釋,那麼就用Boa自帶的索引
#生成程序來生成目錄的索引文件並輸出到下面目錄,該目錄必須是Boa能讀寫
# DirectoryCache /var/spool/boa/dircache
#一個連接所允許的HTTP持續作用請求最大數目,注釋或設為0都將關閉HTTP持續作用
KeepAliveMax 1000
#HTTP持續作用中伺服器在兩次請求之間等待的時間數,以秒為單位,超時將關閉連接
KeepAliveTimeout 10
#指明mime.types文件位置。如果沒有以/開始,則表示從伺服器的根路徑開始。可以注釋掉
#避免使用mime.types文件,此時需要用AddType在本文件里指明
MimeTypes /etc/mime.types
#文件擴展名沒有或未知的話,使用的預設MIME類型
DefaultType text/plain
#提供CGI程序的PATH環境變數值
CGIPath /bin:/usr/bin:/usr/local/bin
#將文件擴展名和MIME類型關聯起來,和mime.types文件作用一樣。如果用mime.types
#文件,則注釋掉,如果不使用mime.types文件,則必須使用
#AddType application/x-httpd-cgi cgi
#指明文檔重定向路徑
#Redirect /bar http://elsewhere/feh/bar
#為路徑加上別名
Alias /doc /usr/doc
#非常重要,指明CGI腳本的虛擬路徑對應的實際路徑。一般所有的CGI腳本都要放在實際路徑
#里,用戶訪問執行時輸入站點+虛擬路徑+CGI腳本名
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
用戶可以根據自己需要,對boa.conf進行修改,但必須要保證其他的輔助文件和設置必須和boa.conf里的配置相符,不然Boa就不能正常工作。 在上面的例子中,我們還需要創建日誌文件所在目錄/var/log/boa,創建HTML文檔的主目錄/var/www,將mime.types文件拷貝 到/etc目錄,創建CGI腳本所在目錄/var/www/cgi-bin/。mime.types文件用來指明不同文件擴展名對應的MIME類型,一般 可以直接從Linux主機上拷貝一個,大部分也都是在主機的/etc目錄下。

『貳』 配置完boa伺服器,在Linux下運行boa伺服器,

A:修改 src/boa.c,將底下判斷式註解掉:
/*if (setuid(0) != -1) {
DIE(」icky Linux kernel bug!」);
}*/
重新編譯

『叄』 嵌入式web伺服器boa怎麼放到usrsrc

一:下載源碼:從http://www.boa.org/官方網站下載源碼,並將源碼放置在/src
目錄下。
[root@
EmbedSky
~]#
cd
/usr/src
進入源碼目錄
[root@
EmbedSky
src]#
tar
zxvf
boa-0.94.13.tar.tar
解壓源碼
壓縮
[root@
EmbedSky
src]#
cd
boa-0.94.13
進入源碼解壓包
[root@
EmbedSky
boa-0.94.13]#
cd
src
[root@
EmbedSky
src]#
./
configure
生成makefile
二:編譯前修改的文件:
1.
修改Makefile文件,找到CC=gcc和CPP=gcc
-E,分別將其改為
交叉編譯器
安裝的路徑:
CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
CPP=/usr/local/arm/2.95.3/bin/arm-linux-g++
保存退出。
2.
修改
編譯方式
:
LDFLAGS
=
-g
–static
注:
使用
靜態編譯
可以讓目標文件自動的包含所需要的
庫文件
,而
動態編譯
需要手工拷貝庫文件。
3.修改/src/defines.h文件:
#define
SERVER_ROOT
"/etc/boa"

『肆』 cgi程序需要怎麼編譯才能在板子上跑

電腦上寫了幾個c文件編譯成了cgi,通過電腦上的boa伺服器完全正確打開這些cgi文件,我的板子平台是uclinux,配置完boa後,也完全能在板子上打開提供的demo,但是在把電腦上自己寫的cgi移植到板子上時,卻不成功,我已經修改了正確的路徑,而且也嘗試了在makefile中把cc=gcc該成了cc=nios2-linux-gcc,這樣編譯成的移植到板子上,還是502 badgateway,我的終端中提示cgi_header:unable to find LFLF,該怎麼編譯才能讓程序在板子上跑起來呢,是不是必須得編譯成二進制的文件,請高手指點下。

『伍』 boa伺服器的移植與linux內核版本有關系嗎

本人基本不用QQ。大致建議如下:首先,確定你的教程是否合適並完整;其次,了解linux尤其red hat的基礎和編譯安裝的方法;最後,了解一下boa伺服器安裝包的readme,會告訴你怎麼做的

『陸』 用哪個版本的交叉編譯器編譯boa-0.94.13

arm-linux-gcc-3.4.5我一直在用,之前3.3.2隻能編譯2.6的內核,不能編譯bootloader,4.3.3關於內核,和bootloader限制不大了,都可以編譯

『柒』 boa伺服器移植的時候編譯成功但是執行時顯示no such file or dirctory

/etc下面存放的都是配置文件好嗎,基本都是文本文件而且是沒有執行許可權的,你這執行不是搞笑嗎

熱點內容
伺服器日誌怎麼分析 發布:2024-11-15 06:22:04 瀏覽:525
字體目錄在哪個文件夾 發布:2024-11-15 06:20:28 瀏覽:181
php種子怎麼打開 發布:2024-11-15 06:07:01 瀏覽:346
密碼箱的密碼忘記了如何開鎖 發布:2024-11-15 06:04:41 瀏覽:956
安卓軟體和蘋果系統哪個好 發布:2024-11-15 05:48:32 瀏覽:284
pythonwhileelse 發布:2024-11-15 05:39:10 瀏覽:672
java文件流上傳文件 發布:2024-11-15 05:24:02 瀏覽:148
linux安裝so 發布:2024-11-15 05:22:29 瀏覽:582
九游版冒險王2適合安卓哪個版本 發布:2024-11-15 05:12:33 瀏覽:601
iphonexsmax怎麼連接伺服器 發布:2024-11-15 05:11:46 瀏覽:776