九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
移植Boa Web服務器到ARM-Linux系統(tǒng) - ARM-Linux應用程序 - Te...
本次移植的主要參考資料:
 
1、 《嵌入式Web服務器移植 》是網上一份Boa移植文檔,比較全面。本文檔就是基本參照它來寫的?;旧仙峡梢哉f是這篇文章的修改版,增加了我的移植經驗。由于這篇文章被轉載得到處都是,我實在無法找到出處。在這里衷心的感謝文章作者!!
 
2、 《構建嵌入式Linux系統(tǒng)》的第十章 設置網絡服務 中的Boa移植部分。

一、Boa程序的移植

1、下載Boa源碼
    下載地址:
http://www.boa.org/
    目前最新發(fā)行版本: 0.94.13   (幾年沒更新版本了)
    下載 boa-0.94.13.tar.gz,

注意:若從boa上下載的是boa-0.94.13.tar.tar,解壓方式一樣
    解壓:

[tekkamanninja@Tekkaman-Ninja source]$tar xzf boa-0.94.13.tar.gz

2、生成Makefile文件
   進入boa-0.94.13,直接運行src/configure文件

[tekkamanninja@Tekkaman-Ninja src]$./configure

3、修改Makefile文件(注意:必須用cross-2.95.3, 如使用3.4.1、4.1.1等等會出錯)

CC = /home/tekkamanninja/working/source/2.95.3/bin/arm-linux-gcc
CPP = /home/tekkamanninja/working/source/2.95.3/bin/arm-linux-gcc -E


4、交叉編譯

[tekkamanninja@Tekkaman-Ninja src]$ make

5、去除調試信息,減小體積。(可選)

[tekkamanninja@Tekkaman-Ninja src]$ /home/tekkamanninja/working/source/2.95.3/bin/arm-linux-strip boa

6、將編譯好的程序放入根文件系統(tǒng)的/bin目錄下。

[tekkamanninja@Tekkaman-Ninja src]$ cp boa /home/tekkamanninja/working/nfs/rootfs/bin/

  

 

二、配置Boa

Boa需要在/etc目錄下建立一個boa目錄,里面放入Boa的主要配置文件boa.conf。在Boa源碼目錄下已有一個示例boa.conf,可以在其基礎上進行修改。

[tekkamanninja@Tekkaman-Ninja src]$ cd ../..
[tekkamanninja@Tekkaman-Ninja source]$ cd ../nfs/rootfs/etc/
[tekkamanninja@Tekkaman-Ninja etc]$ mkdir boa
[tekkamanninja@Tekkaman-Ninja etc]$ chmod 777 boa/
[tekkamanninja@Tekkaman-Ninja etc]$ cd boa
[tekkamanninja@Tekkaman-Ninja boa]$ kwrite boa.conf

1、Group的修改

修改 Group nogroup
Group user(開發(fā)板上有的組)
修改 User nobody
User boa (user組中的一個成員)
根據(jù)你的開發(fā)板的情況設定。一定要存在的組和用戶。
 
以下是我在開發(fā)板上的操作:

[root@~]#adduser -g user boa
Changing password for boa
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
Enter new password:
Bad password: too short.

Warning: weak password (continuing).
Re-enter new password:
passwd[820]: password for `boa' changed by user `root'
Password changed.
[root@~]#

2、ScriptAlias的修改

修改 ScriptAlias /cgi-bin/  /usr/lib/cgi-bin/
為 ScriptAlias /cgi-bin/  /var/www/cgi-bin/

這是在設置CGI的目錄,你也可以設置成別的目錄。比如用戶文件夾下的某個目錄。

3、ServerName的設置

修改 #ServerName www.your.org.here
為 ServerName www.your.org.here

注意:該項默認為未打開,執(zhí)行Boa會異常退出,提示“gethostbyname::No such file or directory”,所以必須打開。其它默認設置即可。你也可以設置為你自己想要的名字。比如我設置為:ServerName tekkaman2440

此外,還需要:

mime.types文件復制/etc目錄下,通??梢詮膌inux主機的 /etc目錄下直接復制即可。

(以下配置和boa.conf的配置有關)

創(chuàng)建日志文件所在目錄/var/log/boa

創(chuàng)建HTML文檔的主目錄/var/www

創(chuàng)建CGI腳本所在錄 /var/www/cgi-bin

[tekkamanninja@Tekkaman-Ninja log]$ mkdir -m 777 boa
[tekkamanninja@Tekkaman-Ninja log]$ cd ..
[tekkamanninja@Tekkaman-Ninja var]$ mkdir -m 777 www
[tekkamanninja@Tekkaman-Ninja var]$ mkdir -m 777 www/cgi-bin
[tekkamanninja@Tekkaman-Ninja var]$ cd ..
[tekkamanninja@Tekkaman-Ninja rootfs]$ cp /etc/mime.types etc/

三、運行Boa

開發(fā)板操作:

[root@~]#boa

如果發(fā)現(xiàn)boa沒有運行,則可以在開發(fā)板的/var/log/boa/error_log文件中找原因。

比如端口已被其他程序占用:

[root@~]#cat /var/log/boa/error_log
[20/Feb/2008:21:21:57 +0000] boa.c:194 - unable to bind: Address already in use

或是用戶設置錯誤等等,都可以查到。


 

四、功能測試

靜態(tài)網頁測試

將靜態(tài)網頁存入根文件系統(tǒng)的/var/www目錄下(可以將主機 /usr/share/doc/HTML/目錄下的index.html、homepage.css和img、stylesheet-images目錄復制到/var/www目錄下)

我參考《嵌入式Web服務器移植 》的做法如下:

在根文件系統(tǒng)的/var目錄下

[tekkamanninja@Tekkaman-Ninja var]$ cp /usr/share/doc/HTML/index.html www/
[tekkamanninja@Tekkaman-Ninja var]$ cp -r /usr/share/doc/HTML/img www/
[tekkamanninja@Tekkaman-Ninja var]$ cp /usr/share/doc/HTML/homepage.css www/
[tekkamanninja@Tekkaman-Ninja var]$ cp -r /usr/share/doc/HTML/stylesheet-images www/

直接在瀏覽器中輸入開發(fā)板的IP地址(比如我的是http://192.168.1.2) ,出現(xiàn)fedora的歡迎網頁。靜態(tài)HTML調試成功。

CGI功能測試

1、編寫HelloworldCGI.c程序

[tekkamanninja@Tekkaman-Ninja source]$ vi helloworldCGI.c

(主程序的程序開頭一定要用Tab,而不是空格,不然編譯可能不通過)

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
        printf("Content-type: text/html\n\n");
        printf("<html>\n");
        printf("<head><title>CGI Output</title></head>\n");
        printf("<body>\n");
        printf("<h1>Hello,world.</h1>\n");
        printf("<body>\n");
        printf("</html>\n");
        exit(0);
}

2.交叉編譯生成CGI程序

[tekkamanninja@Tekkaman-Ninja source]$ /home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-gcc -o helloworldCGI helloworldCGI.c

將helloworldCGI 拷貝至根文件系統(tǒng)的/var/www/cgi-bin/下

[tekkamanninja@Tekkaman-Ninja source]$ cp helloworldCGI ../nfs/rootfs/var/www/cgi-bin/

3.測試

瀏覽器輸入
   http://192.168.1.2/cgi-bin/helloworldCGI

網頁出現(xiàn) Hello,world. 調試成功!

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
構建基本的嵌入式Linux根文件系統(tǒng)
移植lighttpd到arm
boa服務器的移植
Boa Web服務器在PC上移植
boa資料匯總
華為3G模塊EM770W在LINUX下的驅動安裝
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服