日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

嵌入式转linux服务器,嵌入式linux下web服务器搭建

發布時間:2025/5/22 linux 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式转linux服务器,嵌入式linux下web服务器搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、移植編譯生成boa二進制文件

Boa是一種非常小巧的Web服務器,其可執行代碼只有大約60KB左右。作為一種單任務Web服務器,Boa只能依次完成用戶的請求,而不會fork出新的進程來處理并發連接請求。但Boa支持CGI,能夠為CGI程序fork出一個進程來執行。Boa的設計目標是速度和安全。

解壓到特定目錄,本人使用的是/opt目錄,使用命令:

#tar zxvf boa-0.94.13.tar.gz –C /opt

配置boa:

切換到目錄# cd /opt/boa-0.94.13/src運行./configure

會在boa-0.94.13/src目錄下生成Makefile文件,修改該文件,主要是修改編譯器的選擇,從而適合ARM。修改31、32行如下(具體要看你的交叉編譯器在哪個目錄下面):

CC = /opt/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-gcc

CPP = /opt/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-g++ -E

接著修改src/boa.c文件:

注釋掉225到227行的內容:

// if (setuid(0) != -1) {

// DIE (“icky Linux kernel bug!”);

// }

修改src/compat.h文件如下:

#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

最后編譯并且優化:

在src目錄下,直接輸入make命令即可完成編譯,輸入ls –l boa,可到如下圖所示結果:

表明成功生成了二進制文件

接下來為二進制文件瘦身!!輸入arm-linux-strip boa即可,運行結果如下圖所示。

相比上一個,明顯小了很多了。

二、移植cgic

#tar zxvf cigc205.tar.gz –C /opt

切換到cgic目錄下,并修改Makefile文件,修改如下所示:

在開始出修改

CC=/opt/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-gcc

AR=/opt/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-ar

RANLIB=/opt/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-ranlib

此外還需修改22行和25行如下:

$(CC) $(CFLAGS) cgictest.o –o cgictest.cgi ${LIBS}

$(CC) $(CFLAGS) capture.o –o capture ${LIBS}

輸入make命令進行編譯。編譯生成capture的可執行文件和次使用的cgictest.cgi文件

優化輸入arm-linux-strip capture即可。

三、配置WEB服務器

3.1在文件系統中配置boa

可以直接打開/opt/boa-0.94.13/boa.conf進行修改,主要修改一下幾個參數的配置。

Port 80使用默認的即可

Listen 192.168.1.6這個使用自己ARM板子的IP地址

User root板子使用者

Group root作為哪個用戶運行,即它擁有該用戶組的權限,一般是root需要在/etc/group文件中有root組

ErrorLog /dev/console錯誤日志文件。如果沒有以/XXX開始,則表示從服務器的根路徑開始。如果不需要錯誤日志,則用/dev/null。系統啟動后看到的boa的打印信息就是由/dev/console得到

ServerName自己寫GentleHacker

DocumentRoot /web這個是存放html文檔的主目錄,非常重要,瀏覽器訪問的時候會訪問其中內容

DiectoryIndex index.html???html目錄索引的文件名

CGIPath /bin:/usr/bin:/usr/local/bin提供CGI程序的PATH環境變量值

ScriptAlias /cgi-bin /web/cgi-bin/非常重要,指明CGI腳本的虛擬路徑對應的實際路徑,筆者是在根文件系統下創建web目錄的,所以這么設置。

在配置工作做好以后,將兩個文件拷貝到已有的ramdisk文件中,具體操作如下。

1.首先請參考我轉載的博文ramdisk介紹與制作,筆者將ramdisk文件系統掛在在/mnt/loop下。

2.將/opt/boa-0.94.13/src/boa拷貝到文件系統ramdisk下的sbin目錄下,從而為文件系統提供新的命令

3.將配置文件/opt/boa-0.94.13/boa.conf拷貝到etc/boa下

完成上面幾步之后則完成了boa服務器到ARM開發板文件系統的移植。

3.2配置CGIC庫

首先在文件系統ramdisk的根目錄下創建目錄web。

進入目錄# cd web

接著執行命令?# mkdir cgi-bin

將在第二步驟中生成好的capture和cgictest.cgi拷貝到目錄cgi-bin下,從而完成了cgic的移植。

總結

以上是生活随笔為你收集整理的嵌入式转linux服务器,嵌入式linux下web服务器搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。