• 基于mini2440的boa服务器移植


    win7 系统  开发板:mini2440

    虚拟机:ubuntu12.04

    准备工作:确保主机与开发板之间能够正常通信,即能够ping通,具体的操作课参考我上一篇随笔。

    1.首先从 http://www.boa.org/ 下载boa的源码,并将其加压出来

    2.生成makefile

    进入到boa的src文件夹内,运行./configure

    修改Makefile文件,如下所示:

    然后运行make,这个时候有可能报错,常见的两种错误情况是:

    make: yacc:命令未找到
           make: *** [y.tab.c] 错误 127

    make: lex:命令未找到
           make: *** [lex.yy.c] 错误 127

    这时候需要安装两个工具bison 和 flex

    sudo apt-get install bison flex

    3.修改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

    最后运行make命令,即可生成一个boa可执行文件。

    4.将生成的boa文件下载到你开发板的根目录下,我的是mini2440,我下载到板子上的目录为/opt/Qtopia/bin/  修改权限,应该也可以直接下到/bin/文件的下面,我没有尝试过,读者可以自己尝试。

    5.修改配置boa.conf文件

    首先在开发板的执行

    mkdir -p /etc/boa

    可以将boa-0.94.13文件夹下的boa.conf文件直接拷贝至新建立的boa文件夹下

    打开boa.conf文件,修改以下内容:

    Group nogroup 改成 Group 0

    #ServerName www.riwen.com 将这行的注释去掉即:ServerName www.riwen.com 后面这个名字可以自己定义

    否则会出现错误“gethostbyname::No such file or directory”

    将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  修改成

    ScriptAlias /cgi-bin/ /var/www/cgi-bin/

    然后保存退出。

    boa.conf文件里面的其他的代码的意思,读者可以自行网上搜索,也可以自己试着修改,看看最后会不会出现什么错误

    6.建立相关的文件夹

    在中断运行以下命令

    mkdir -p /var/log/boa     这里存放boa服务器运行的相关信息,在运行时会产生access_log 和error_log两个文件,errr_log会打印出boa运行时所产生的错误信息。

    mkdir -p /var/www     这里存放相应的页面即html文件

    mkdir -p /var/www/cgi-bin     这里存放cgi程序

    完成以上动作,就可以在运行boa

    7.运行boa

    进入到boa的文件下输入./boa

    这个时候最有可能遇到的问题就是提示:boa.c:194 - unable to bind: Address already in use

    如果没有看到任何信息:可以运行cat /var/log/boa/error_log 命令查看。因为默认的boa.conf文件端口设置是80,我们在开发板修改boa.conf文件的端口为8080,或者其他未被使用的端口,保存退出

    如果boa启动成功,将会打印出如下信息

    8.测试boa

    静态测试:在/var/www/文件夹内放入index.html文件,可以自己写个很简单的网页

    在地址栏输入:192.168.1.230:8088 然后回车,端口地址以自己的设的为准,接着你就能在主机的浏览器上显示index.html的内容了。

    如下所示:

    这是我自己写的简单页面,在下一篇帖子要讲的内容。

    动态测试:将boa-0.94.13文件夹下examples下的cgi-test.cgi拷贝到开发板/var/www/cgi-bin/文件夹下

    然后再地址栏输入http://192.168.1.230:8088/cgi-bin/hellocgi 回车,将会显示如下页面

    到这里,恭喜您,boa服务器的移植已经成功了!

    总结:

    我在开发板上建立的文件夹:/var/www   /var/log/boa 在我重启开发板之后这些文件夹全部消失了,但是我在其他目录建立的文件夹并没有消失,

    很奇怪,所以每次我都准备好备份。上网查找资料,也没查出什么结果,如果有谁知道的话,请告知一声,感激不尽啊。

  • 相关阅读:
    【JZOJ3852】【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
    【JZOJ3853】【NOIP2014八校联考第2场第2试9.28】帮助Bsny(help)
    【JZOJ3854】【NOIP2014八校联考第2场第2试9.28】分组(group)
    【JZOJ4934】【NOIP2017GDKOI模拟1.12】a
    【JZOJ4935】【NOIP2017GDKOI模拟1.12】b
    【JZOJ4925】【GDOI2017模拟12.18】稻草人
    【JZOJ4930】【NOIP2017提高组模拟12.18】C
    【JZOJ4929】【NOIP2017提高组模拟12.18】B
    如何重新加载Spring Boot上的更改,而无需重新启动服务器?
    什么是JavaConfig及其优点?
  • 原文地址:https://www.cnblogs.com/rwzhou/p/3649327.html
Copyright © 2020-2023  润新知