導航:首頁 > 編程系統 > armlinuxboa

armlinuxboa

發布時間:2022-09-15 23:04:34

A. 將sqlitd和boa程序寫在一起,在網頁上顯示出現502是什麼問題嗯

編譯boa過程

1
用的boa版本:boa-0.94.13
具體操作:

1、 cd boa-0.94.13/src/

2
2、執行./configure

3
3、更改cgi.c
Vim cgi.c
在cgi.c 裡面的找到 complete_env函數里添加一行
my_add_cgi_env(req,"LD_LIBRARY_PATH", "/mnt/nfs/lib");
注意:這里的/mnt/nfs/lib是我動態庫的存放地址,這要寫你自己的動態庫存放地址(
如果沒有更改cgic.c 的這個函數,是在arm伺服器上搭建的boa執行指定的動態庫會網頁會報502 Bad gateway)

4
4、更改makefile
因為要運行在arm環境下,所以編譯工具必須更改為arm-linux-gcc
把其中的CC CPP
改為:CC = arm-linux-gccCPP = arm-linux-g++

5
5、編譯

執行make
在/src 下就會生成boa
Arm-linux-strip boa 去掉調試信息
6
6、將生成的boa 拷貝到板子的/bin 或者/usr/bin下
cp boa /bin
END
配置boa.conf

1.從boa根目錄找到boa.conf文件(不同版本boa源碼此配置文件存放位置不一樣,請自己從原文件中的各個文件中查找一個);
Cp boa.conf /etc/boa/(如果沒有這個文件夾自己創建)
Vim /etc/boa/boa.conf
Group nogroup 改為:Group 0

2.ServerName www.my.com (伺服器地址) 將注釋#去掉,或者寫自己的ip地址(我的ip為192.168.1.68)

3.DocumentRoot /var/www (html文件主路徑)

4
4、設置要執行cgi的路徑
ScriptAlias/cgi-bin/ /var/www/cgi-bin/

END
測試boa伺服器配置成功

1
在PC 機上瀏覽器地址欄里,寫入192.168.1.68 就可以顯示你設置的開發板上的默認index.html了,而且CGI程序也是支持的,這里不做演示

B. linux的Boa伺服器

Boa是一種非常小巧的Web伺服器,其可執行代碼只有大約60KB左右。作為一種單任務Web伺服器,Boa只能依次 完成用戶的請求,而不會fork出新的進程來處理並發連接請求。但Boa支持CGI,能夠為CGI程序fork出一個進程來執行。Boa的設計目標是速度 和安全。 下面給大家介紹一下Boa伺服器移植的具體操作步驟,希望能夠有幫助。 環境 主機:ubuntu8.10 交叉工具鏈:gcc-3.4.5-glibc-2.3.6 目標:s3c2410開發板 結合網上一些文檔,整理了一個比較完整的文檔。 1.下載Boa源碼 下載地址: http://www.boa.org/ 最新發行版本: 0.94.13 下載boa-0.94.13.tar.gz 解壓:# tar xzf boa-0.94.13.tar.gz 2.安裝需要工具bison,flex sudo apt-get install bison flex 否則會出現如下錯誤 make: yacc:命令未找到 make: *** [y.tab.c] 錯誤 127 make: lex:命令未找到 make: *** [lex.yy.c] 錯誤 127 3.修改文件 (1)修改 src/compat.h 找到 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 修改成 #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff 否則會出現錯誤: util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 錯誤 1 (2)修改 src/log.c 注釋掉 if (p2(error_log, STDERR_FILENO) == -1) { DIE("unable to p2 the error log"); } 為: /*if (p2(error_log, STDERR_FILENO) == -1) { DIE("unable to p2 the error log"); }*/ 否則會出現錯誤: log.c:73 unable to p2 the error log:bad file deor (3)修改src/boa.c 注釋掉下面兩句話: if (passwdbuf == NULL) { DIE(」getpwuid」); } if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) { DIE(」initgroups」); } 為 #if 0 if (passwdbuf == NULL) { DIE(」getpwuid」); } if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) { DIE(」initgroups」); } #endif 否則會出現錯誤:boa.c:211 - getpwuid: No such file or directory 注釋掉下面語句: if (setuid(0) != -1) { DIE(」icky Linux kernel bug!」); } 為 #if 0 if (setuid(0) != -1) { DIE(」icky Linux kernel bug!」); } #endif 否則會出現問題:boa.c:228 - icky Linux kernel bug!: No such file or directory 4、生成Makefile文件 執行: #cd boa-0.94.13/src #./configure 5、修改Makefile cd src vim Makefile 修改CC = gcc 為 CC = arm-softfloat-linux-gnu-gcc 修改CPP = gcc -E 為 CC = arm-softfloat-linux-gnu-gcc -E 6、編譯 make ls -l boa -rwxr-xr-x 1 david david 189223 2009-05-31 13:44 boa 然後為生成的二進制文件boa瘦身 arm-softfloat-linux-gnu-strip boa ls -l boa -rwxr-xr-x 1 david david 61052 2009-05-31 13:51 boa 可以發現boa的大小前後差距很大這為我們節省了很大的空間 7、Boa的配置 這一步的工作也在電腦主機上完成。 在boa-0.94.13目錄下已有一個示例boa.conf,可以在其基礎上進行修改。如下: #vi boa.conf (1)Group的修改 修改Group nogroup 為Group 0 (2)user的修改 修改User nobody 為User 0 (3)Alias的修改 修改Alias /cgi-bin/ /usr/lib/cgi-bin/ 為Alias /cgi-bin/ /www/cgi-bin/ (5)DoucmentRoot的修改 修改DoucmentRoot /var/www 為DoucmentRoot /www (6)ServerName的設置 修改#ServerName www.your.org.here 為ServerName www.your.org.here 否則會出現錯誤「gethostbyname::No such file or directory」 (7)AccessLog修改 修改AccessLog /var/log/boa/access_log 為#AccessLog /var/log/boa/access_log 否則會出現錯誤提示:「unable to p2 the error log: Bad file deor」 (8)以下配置和boa.conf的配置有關,都是在ARM根文件系統中創建 以下步驟在開發板上進行: 創建目錄/etc/boa並且把boa 和 boa.conf拷貝到這個目錄下 mkdir /etc/boa 創建HTML文檔的主目錄/www mkdir /www 創建CGI腳本所在錄 /www/cgi-bin mkdir /www/cgi-bin 以下步驟在ubuntu下進行: 將boa.conf拷貝到開發板根文件系統的/etc/boa下 #cp boa.conf /source/rootfs/etc/boa 將boa拷貝到開發板根文件系統的/etc/boa下 #cp src/boa /source/rootfs/etc/boa 將ubuntu下/etc/mime.types拷貝到開發板根文件系統的/etc下 #cp /etc/mime.types /source/rootfs/etc 將你的主頁index.html拷貝到www目錄下 8、測試 打開一個瀏覽器輸入開發板ip看看效果 OK

C. 嵌入式ARM高手看過來啊!

你是在學習boa伺服器吧,boa伺服器最重要的就是boa.cof的設置。你可以把boa.conf文件復制到pc機上,直接使用記事本打開或者word,如果組織性好點,可以使用notepad++。如果你的arm系統是linux也可以使用vi編輯器在板子上打開,無需復制到pc機上修改

D. 在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
生成文件
# ./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目錄下。

E. ARM-linux boa php支持session嗎

支持。
注意: 順便說下4.8.1的64位gdb在debug編譯的32位程序會崩潰.

F. 什麼叫ARM+Linux開發是不是在PC機上寫好驅動然後移植到開發板上查了很多資料都沒見說明白

咨詢記錄 · 回答於2021-09-29

G. arm-linux 編譯出錯

你是想在ARM開發板中搭建BOA伺服器然後用cgi代碼寫網頁嗎?這個問題應該是你的arm-linux庫缺失了文件,重新安裝一下apt-get --reinstall install arm-linux-gcc試一下

H. ARM與Linux是什麼關系ARM本身已經有Linux了,還是需要往裡燒寫Linux

我來回答你吧
1. ARM與Linux是什麼關系? 就是PC和XP的關系,不過你要注意,ARM7不能運行linux的,因為其不帶操作系統的,ARM9 或以上才可以

2. ARM本身已經有Linux了,還是需要往裡燒寫Linux?很顯然,你要往ARM里燒寫linux才行。本身是不帶的,不過有的ARM試驗箱本身就有的,例如MagicARM2410,當然ARM也可以燒寫其他系統,如winCE

3. ARM編寫的程序,是直接控制io口?還是直接調用函數如(printf());
如果你把埠配置成io口,當然可以直接控制了。如果你裝系統了,埠被重新賦予新的定義了,明顯要調用介面函數(注意這是系統自帶的)了

4.學習的話需要用什麼軟體,電腦一定安裝有Linux系統嗎?
當然,如果你搞ARM-linux,一定要裝的,我原來一般是用虛擬機的,挺好用的,但是對電腦的配置相對要過一點,最好2G吧

5.基於Linux的編程時什麼意思?與普通的51單片機編程有什麼區別?
是指在linux系統下對你的ARM處理器的資源進行分配,就像在xp系統下你用VC編程一樣,與51肯定是不一樣的,51是8位機不帶系統的,你沒聽過基於linux的51單片機編程吧?

最後給你推薦幾本ARM-Linux的書,我原來也是搞ARM的,現在實習就不弄了
你可以看這個問題,我回答的:http://..com/question/146513466.html

I. ARM LINUX與普通LINUX區別

相對於ARM linux,我們說的普通linux指的是X86 linux,他們都是linux系統,但是由於ARM和X86是不同的CPU架構,他們的指令集不同,所以軟體編譯環境不同,軟體代碼一般不能互用,一般需要進行兼容性移植。
X86是經典的CISC指令集,指令集復雜,功能多,串列執行,但是也意味著執行效率低下,但性價比突出,所以稱為民用終端的主流處理器內置指令集。Intel和AMD的家用處理器都是X86指令集。以X86為代表的CISC,理論並發線程1-2條。
ARM是Advanced RISC Machine 的縮寫。它的指令集比RISC還要精簡。通常使用ARM架構處理器的機型,多為嵌入式或者便攜機。主頻通常不高,現在高通公司的ARM架構處理器有1.0GHz的,已經算相當高了。另外,ARM 7沿用馮·諾依曼結構;而從ARM 9以後,就都採用了哈佛結構。ARM的並發線程,理論上有4條左右,處理效率較X86高不少。

J. ARM_Linux操作系統是什麼

就是linux操作系統~~就好像你電腦用的windows一樣~~佔用內存小,操作起來不熟悉的人可能不習慣~~

閱讀全文

與armlinuxboa相關的資料

熱點內容
jsp傳到mysql亂碼 瀏覽:584
有什麼免費的鋼琴陪練app 瀏覽:720
品牌知名度的數據信息從哪裡找 瀏覽:206
網路技術簡介 瀏覽:96
數控銑床如何使用軟體編程 瀏覽:875
遠程桌面無法傳輸文件 瀏覽:953
ie8怎樣升級到ie11 瀏覽:397
榆林市榆陽區有哪些編程課 瀏覽:246
輕松備份專業版教程 瀏覽:658
移動網路2g怎麼改成4g 瀏覽:634
linux設置字體大小 瀏覽:329
安全牛的linux 瀏覽:672
wps會緩存excel文件么 瀏覽:592
app開發phpjava哪個更好 瀏覽:53
app有十萬用戶是什麼概念 瀏覽:285
g73車球頭怎麼編程的 瀏覽:940
資料庫管理的優點是 瀏覽:617
安卓毫秒計時器 瀏覽:92
hmci模組找不到文件 瀏覽:348
可復制日語qq網名 瀏覽:586

友情鏈接