boa服务器怎样运行,boa服务器的配置与编译

上午看了下boa服务器的配置与编译,还不算难。对我而言,重在理解概念就行。不过,还是基于PC。交叉编译以后尝试。

系统:ubuntu10.04

boa版本:boa-0.94.13.tar.gz

内核:linux2.6.32

相关理论:

Boa

是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。

CGI

在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。即客户端与服务器的接口。

比如留言本的工作流程:先由用户在客户端输入一些信息,如名字之类的东西。接着用户按一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的cgi程序中,于是cgi程序在服务器上按照预定的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后cgi程序给客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。

配置编译boa服务,构建一小型网页服务器

使用ps -e查看是否开启http服务,如果开启,则关闭。

1.下载boa-0.94.13.tar.gz源码

解压在/home/xxxx/boa-0.94.13目录中。

2.编译

在/home/xxxx/boa-0.94.13/src/目录中存放的是boa的源码,在源码目录下配置与编译。

执行./configure

这是根据configure.in文件进行一系列的配置,生成config.status,configure,和Makefile文件。

如果现实无法执行,要修改该目录下的configure的属性为可执行

chmod 755 configure

3.make

这个编译的是服务程序,在该目录下生成一个可执行文件boa

编译过程出现错误:

i.

lex boa_lexer.l

make: lex: Command not found

解决:apt-get install flex

编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和flex。

yacc是一个文法分析器的生成器,bison即是yacc的GNU版本.Lex和YACC是用于构造词法分析机和语法解释器的工具,利用Lex和YACC你可以轻松的构造一个语法解释器。所以要安装flex。

ii:

gcc -g -O2 -pipe -Wall -I. -c -o util.o util.c

util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token

make: *** [util.o] Error 1

解决:

修改 src/compat.h

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

修改成

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

如果有出现其他错误的,可以参看网页

总结的很详细。

4.修改配置文件

修改boa-0.94.13目录下boa.conf

下面是我的配置

User nobody

Group nogroup

ErrorLog /var/log/boa/error_log

AccessLog /var/log/boa/access_log

DocumentRoot /www   --web服务启动的目录在根目录下的/www

UserDir public_html

DirectoryIndex index.html  --目录的索引文件 默认首页

DirectoryMaker /usr/lib/boa/boa_indexer

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

......

将配置好的boa.conf复制到/etc/boa目录下。这是个默认目录。

把www文件复制到根目录下。

5.启动web服务

执行./boa

出错:unable to dup2 the error log: Bad file descriptor

修改log.c

注释掉

if (dup2(error_log, STDERR_FILENO) == -1) {

DIE("unable to dup2 the error log");

}

过后要重新编译。

make clean

make

即可启动web服务

在firefox浏览器中输入虚拟机的IP地址,即可进入women预先设定的主页。

交叉编译的可以参考下面的网页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

女性自我的迷宫:看EMI的人体自拍

最近在北京798的映艺术中心,展出了EMI和高媛两位女摄影师的摄影作品。 其中EMI的主题叫《自我的迷宫》,是EMI的自拍人体作品。EMI生于北京。2000年开始在日本做自由摄影师。参加过许多国内外的摄影展。 我们知道,这些年随着数码摄影技术的普及…

matlab 6.5 设计数字滤波器

1、用脉冲响应不变法设计一个Butterworth低通数字滤波器,通带截止频率为0.4π ,通带波纹Rp小于3dB,阻带边界频率为0.6π,阻带衰减大于15dB,采样频率Fs10000Hz。假设一个信号 其中f11000Hz,f24000Hz。试将原信号与通…

雪后长春的几张照片

长春郊区,雪后的净月坛,很美。两个亲昵的小天使,坐在月牙上,寒冷的冰雪与他们无关。两个恋人在薄薄的冰面上玩耍,脚底时而传来吱吱的冰裂的声响,我真为他们担心。但是热恋的人应该不在乎生死的。别致典型的…

IP核的自动仿真

IP核的自动仿真 欢迎关注我,关于FPGA的问题欢迎留言讨论!

浏览器自定义css代码,根据浏览器不同设置CSS

【实例名称】根据浏览器不同设置CSS【实例描述】不同的浏览器在同样的CSS下显示效果可能不同,有时候为了保证界面的一致性,需要根据浏览器的不同设置相应的CSS。【实例代码】标题页-学无忧(www.xue51.com)if ((navigator.appName "Microsoft Inter…

汇编语言程序设计,计算比赛成绩

一、设计内容与设计要求1.课程设计目的:《汇编语言程序设计》是计算机专业的重要的专业基础课,通过本课程设计使学生进一步巩固课堂所学,全面熟悉、掌握8088宏汇编语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序…

丈夫绝不受人怜

最近,同心出版社出版了中国京剧作家翁偶虹先生的遗著《翁偶虹编剧生涯》(2008年1月出版,定价:39元)。一般人也许不知道他,但是喜欢京剧的读者一定知道京剧《锁麟囊》和样板戏《红灯记》,这些家喻户晓的剧目…

用移位实现除以或者乘以一个数

用移位实现除以或者乘以一个数 一些2的次幂需要常记! 2^0 1 2^1 2 2^2 4 2^3 8 2^4 16 2^5 32 2^6 64 2^7 128 2^8 256 2^9 512 2^10 1024 2^(-1) 0.5 2^(-2) 0.25 2^(-3) 0.125 2^(-4) 0.0625 2^(-5) 0.03125 2^(-6) 0.015625 2^(-7) 0.007812…

我不愿意直接表达情绪:答上海《新闻晨报》记者顾筝小姐问

1987年10月,与《北京文学》杂志社的同事在一起。照片中的七个人现在只有一个人还在《北京文学》任职。他们分别是(前排自左)傅锋、陈世崇、赵李红、仲维萍、汪爱珠。(后排自右)路崇勋和我。上海《新闻晨报》记者 顾筝 …

IC芯片

5.8寸显示屏/LB058WQ1(SD)01LG274HC04 0.3NXP10K 74HC138 0.37NXP20K 74HC245 0.52NXP30K 74HC595 明威 她买的0.22 SST39SF040 PLCC32 09 SST1500 D2553100 BD989710 FDD8447LFAIRCHILD20 TDA817720 24C0850 TDA8350Q10 RU4A50 TDA91185 …

服务器未进系统如何关机,云服务器关机了怎么开机

云服务器关机了怎么开机 内容精选换一换只有当云服务器处于关机状态,才能执行启动操作。只有当云服务器处于开机状态,才能执行关机操作。用户可以在管理控制台对专属主机上的云服务器进行管理类操作,包括开机、关机、重启、删除。登录管理控制…

2008年夜饭时随手拍的两张照片

我们在蒙古包里就餐,歌手来唱歌。而后面的门像是一面镜子。新来的一个歌手,看着像是跳骑马舞的。他的服装很有特点。

上升沿的检测

上升沿的检测 第一种方法 input vsync; reg vsync_r1; reg vsync_r2; wire vsync_rise; wire vsync_r2_n; always(posedge clk) beginvsync_r1 < vsync;vsync_r2 < vsync_r1; end assign vsync_r2_n ~vsync_r2; assign vsync_rise vsync_r1 & vsync_r2_n ;第二…

VS2008(SP1)资源编译错误:fatal error RC1015: cannot open include file 'afxres.h'.

只要一改动资源&#xff0c;按F7编译就会出现两个错误&#xff1a; error RC2001: newline in constant fatal error RC1015: cannot open include file afxres.h. 打开rc文件发现 #include "afxres.h" 变成了 #include "afxres.h 。 自己发现问题了&#x…

忍者巫毒娃娃

&#xff08;此六张图片为阿梅尔用手机拍摄制作的动漫系列故事&#xff0c;拍摄场地为她的小房间里&#xff0c;人物是忍者巫毒娃娃。文字亦为其写&#xff09;月黑风高之夜,真田旗下十勇士之首——猿飞佐助&#xff0c;正在执行秘密任务。 “不管发生什么&#xff0c;完成…

服务器系统怎么调节风扇速度,服务器主板怎样设置风扇速度

服务器主板怎样设置风扇速度 内容精选换一换专属主机的开通是自助完成的&#xff0c;您只需要指定相关参数&#xff0c;比如区域和可用区、专属主机类别和类型、专属主机名称、购买时长和数量&#xff0c;即可在几分钟内获得所需的专属主机。本文介绍如何在管理控制台创建一台包…

SPI参数化分配寄存器

SPI参数化分配寄存器 SPI的原理请参考:spi 协议驱动设计 //SPI salve支持功能: //支持三线SPI或者四线SPI,通过define切换 //支持指令长度、帧长自定义 //工作时钟可自定义,大于SPI clk的2倍 //只需要修改:几线SPI 单帧长度 指令长度 寄存器开辟 //注意:指令最高bit表示读…

纪念作家浩然先生

前天&#xff0c;作家浩然先生在北京逝世。我有幸曾在他时任主编的《北京文学》杂志工作过8年。我认为他不光是个中国农民文学的标志性作家&#xff0c;更是中国革命现实主义和革命浪漫主义文学的实践者和代表人物&#xff0c;同时他还是一个和蔼可亲的老人。现任北京作协主席、…

MFC,晕,今天才偶然发现FloatControlBar。。。

使用FloatControlBar前面要有两句这样的。。 m_xxxBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); 接下来 DockControlBar(&m_xxxBar); 或 FloatControlBar(&m_xxxBar,CPoint(300,80),CBRS_ALIGN_TOP); 不然程序运行崩溃&#xff0c;为折腾了…

万维网服务器协议提供web,万维网的HTTP和FTP协议.doc

万维网的HTTP和FTP协议.doc万维网的HTTP和FTP协议摘 要&#xff1a;20世纪40年代以来&#xff0c;人们就梦想能拥有一个世界性的信息库。在这个信息库中&#xff0c;信息不仅能被全球的人们存取&#xff0c;而且能轻松地链接到其他地方的信息&#xff0c;使用户可以方便快捷地获…