關於boa webserver 的使用

一. boa簡介

      boa是一個嵌入式web服務器,小巧而且高效,是可以unix或linux下使用,支持cgi的、非常適合於嵌入式系統的單任務的http服務器,源代碼開放、性能高。

二. boa源碼

      源碼下載可以到:http://www.boa.org/   進行下載。下載後可得boa的壓縮包(boa-0.94.13.tar.gz)

三. boa配置和使用

      1. 有了boa的壓縮包之後,就可以開始使用了,首先是從解壓縮包開始,而後進入解壓後的目錄中的src,執行./configure,生成對應的Makefile文件。具體的命令如下:

              #tar zxvf  boa-0.94.13.tar.gz         (解壓)

              #cd ./boa-0.94.13/src                     (進入到src)

              #./configure                                      (配置)

      2. 在執行make編譯之前,首先要做如下的修改,要不然會報錯。

           a. 修改boa-0.94.13/src/compat.h。打開#gedit boa-0.94.13/src/compat.h將(去掉##)

               #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff  改爲

              #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff  

          b. 修改boa-0.94.13/boa.conf文件。打開#gedit boa-0.94.13/boa.conf

              User nobody  ->  User 0

             Group nogroup -> Group 0

             ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  -> ScriptAlias /cgi-bin/ /var/www/cgi-bin/

關於boa.conf文件的詳解:

Port:boa服務器監聽的端口,默認的端口是80。如果端口小於1024,則必須是  root用戶啓動服務器。
Listen:綁定的ip地址。不使用這個參數時,將綁定所有的地址。
User:連接到服務器的客戶端的身份,可以是用戶名或UID。
Group:連接到服務器的客戶端的組,可以是組名或GID。
ServerAdmin:服務器出故障時要通知的郵箱地址。
ErrorLog:指定錯誤日誌文件。如果路徑沒有以"/"開始,則相對於ServerRoot路徑。沒有配置時默 認的文件是/dev/stderr。若不想記錄日誌,指定文件爲/dev/null。
AccessLog:設置存取日誌文件,與ErrorLog類似。
UseLocaltime:設置使用本地時間,使用UTC時註釋這個參數。這個參數沒有值。
VerboseCGILogs:在錯誤日誌文件中記錄CGI啓動和停止時間,若不記錄,註釋這個參數。這個參數沒有值。
ServerName:指定服務器的名稱,當客戶端使用gethostname + gethostbyname時返回給客戶端。
VirtualHost:虛擬主機開關。使用此參數,則會在DocumentRoot設定的
目錄添加一個ip地址作爲新的DocumentRoot來
處理客戶端的請求。如DocumentRoot設置爲/var/www,則http://localhost/轉換 成/var/www/127.0.0.1/,若註釋此參數,則爲/var/www/。
DocumentRoot:HTML文件的根目錄(也就是網站的目錄)。
UserDir:指定用戶目錄。
DirectoryIndex:指定預生成目錄信息的文件,註釋此變量將使用DirectoryMaker變量。這個變量也就是設置默認主頁的文件名。
DirectoryMaker:指定用於生成目錄的程序,註釋此變量將不允許列目錄。
DirectoryCache:當DirectoryIndex文件不存在,而DirecotryMaker又被註釋掉時,將列出這個參數指定目錄給客戶端。
KeepAliveMax:每個連接允許的請求數量。如果將此值設爲" 0 ",將不限制請求的數目。
KeepAliveTimeOut:在關閉持久連接前等待下一個請求的秒數。(秒)。
MimeTypes:設置包含mimetypes信息的文件,一般是/etc/mime.types。
DefaultType:默認的mimetype類型,一般是text/html。
CGIPath:相當於給CGI程序使用的$PATH變量。
SinglePostLimit:一次POST允許最大的字節數,默認是1MB。
AddType: 增加MimeType沒有指定的類型,例: AddType type extension [extension ...]。要使用cgi,必須添加cgi類型:AddType application/x-httpd-cgi cgi
Redirect:重定向文件。
Aliases:指定路徑的別名。
ScriptAlias:指定腳本路徑的虛擬路徑。

                     c.創建相應的文件夾及文件

                           1.  在/etc下創建boa文件夾,並添加文件boa.conf

                                  #cd /etc

                                  #mkdir boa

                                 #cp boa-0.94.13/boa.conf /etc/boa

                           2.在/var/log添加boa文件夾及文件

                                #cd /var/log

                                #mkdir boa

                               #cd boa

                               #touch access_log

                               #touch error_log

                      d.在/var中添加www文件夾並增加相應的文件,index.html文件也要存放在/var/www這個文件夾下。

                             #cd /var

                             #mkdir www

                             #cd www

                            #mkdir  cgi-bin

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>我的第一個樣式頁面</title>
</head>

<body>

<!-- 目錄 -->
<ul class="navbar">
  <li><a href="index.html">首頁</a>
  <li><a href="musings.html">連接1</a>
  <li><a href="town.html">連接2</a>
  <li><a href="links.html">連接3</a>
</ul>

<!-- 主要內容 -->
<h1>我的第一個樣式頁面</h1>

<p>welcome to milesight.

<p>hello world.

<p>這只是個例子, 好象沒什麼好寫. 

<!-- 簽名和日期 -->
<address>2014年5月19日製作</address>

</body>
</html>
四.boa編譯與執行

    #cd boa-0.94.13/src            (切到boa項目文件夾中)

    #make clean

    #make                                 (編譯)

    #./bao                                  (執行)

五.測試

   打開瀏覽器,輸入當前對應的IP,就可以訪問,自己的index.html主頁了。

                           

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章