



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BOA服务器的移植和简单调试1.编译流程在下载Boa源码boa-0.94.13.tar.gz,解压到tar zxvf boa-0.94.13.tar.gz#cd boa-0.94.13/src生成Makefile文件#./configure修改Makefile文件:CC = gcc 修改为CC = /usr/local/arm/3.4.5/bin/arm-linux-gccCPP = gcc E 修改为 CPP = /usr/local/arm/3.4.5/bin/arm-linux-gcc -E然后运行Make进行编译,得到可执行文件Boa去掉调试信息,给应用程序瘦身#/usr/local/arm/3.4.5/bin/arm-linux-strip boa2.安装需要工具bison,flexsudo apt-get install bison flex否则会出现如下错误make: yacc:命令未找到 make: * y.tab.c 错误 127make: lex:命令未找到 make: * lex.yy.c 错误 1273.修改 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 错误 14.修改 src/log.c注释掉if (dup2(error_log, STDERR_FILENO) = -1) DIE(unable to dup2 the error log); 为:/*if (dup2(error_log, STDERR_FILENO) = -1) DIE(unable to dup2 the error log); */否则会出现错误:log.c:73 unable to dup2 the error log:bad file descriptor5.修改src/boa.c注释掉下面两句话:if (passwdbuf = NULL) DIE(”getpwuid”); if (initgroups(passwdbuf-pw_name, passwdbuf-pw_gid) = -1) DIE(”initgroups”); 为#if 0 if (passwdbuf = NULL) DIE(”getpwuid”); if (initgroups(passwdbuf-pw_name, passwdbuf-pw_gid) = -1) DIE(”initgroups”); #endif否则会出现错误:boa.c:211 - getpwuid: No such file or directory6.注释掉下面语句:if (setuid(0) != -1) DIE(”icky Linux kernel bug!”); 为#if 0 if (setuid(0) != -1) DIE(”icky Linux kernel bug!”); #endif否则会出现问题:boa.c:228 - icky Linux kernel bug!: No such file or directory7.Could not chdir to /etc/boa: aborting一定要创建/etc/boa文件夹,这个系统根文件夹定义在defines.h的变量SERVER_ROOT中 #define SERVER_ROOT /etc/boa8.”cant open boa.conf for reading“解决:不仅要在你自己放置boa的目录下放入boa.conf配置文件,而且要在板子的/etc/boa下也要放入boa.conf文件,这样系统在运行boa的时候才可以读取到boa.conf文件。9.gethostbyname: Resource temporarily unavailable解决:把“#ServerName .here”的“”号去掉。10.unable to dup2 the error log:Bad file descriptor解决:在boa.conf里,把“#AccessLog /var/log/boa/access_log”注释掉(即去掉号)。11.如果重复运行boa程序的话,会出现错误: unable to bind: Address already in useWeb服务器的配置,主要配置选项如下:Port 80 #定义服务器的端口号User 0 #定义哪些用户可以进入Group 0 #定义哪些用户组可以进入ServerName #指定服务器的名称ErrorLog /var/log/boa/error_log #指定错误日志文件。AccessLog /var/log/boa/access_log #设置存取日志文件DocumentRoot /var / www #定义Web服务器的根目录DirectoryIndex index.html #定义Web首页名称MimeTypes /etc /mime.types #定义mime.types文件的位置ScriptAlias /cgi-bin/var /www/cgi-bin/ #定义CGI程序目录创建日志文件所在的目录/var/log/boa,创建HTML文档的主目录/var/www,将静态网页存放在目录下,创建CGI脚本所在的目录/var/www/cgi-bin,将CGI脚本放在该目录下,另外还需要将mime.type文件复制到/etc目录下,通常可从Linux主机的/etc目录下直接复制即可。Web服务器boa配置文件参数说明boa的配置文件是/etc/boa/boa.conf。Port:boa服务器监听的端口,默认的端口是80。如果端口小于1024,则必须是root用户启动服务器。Listen:绑定的ip地址。不使用这个参数时,将绑定所有的地址。User:连接到服务器的客户端的身份,可以是用户名或UID。(为什么非要指定为文件的所有者才能访问网页呢?nobody用户也有读权限啊)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//,若注释此参数,则为/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类型:AddTyp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025合同样本:汽车定制合同范本
- 2025年版个人租房合同简易模板
- 2025家用纺织销售合同
- 红酒入门知识技巧培训班课件
- 诗经黍离课件中职
- 医疗设备采购供应及维修服务协议
- 农民专业养殖合作协议
- 商业场地租赁合同附加条款确认书
- 聚焦2025年抽水蓄能行业技术创新与储能电站智能化升级报告
- 企业级电子商务平台合作发展协议
- 灭火和应急疏散预案演练制度(足浴会所)
- 中国黄金集团招聘面试经典题及答案
- GB/T 4026-2025人机界面标志标识的基本和安全规则设备端子、导体终端和导体的标识
- 青岛版科学一年级上册(新教材)1.1 吹泡泡(教学课件)(内嵌视频)
- 感染性心内膜炎术后护理查房
- 推理能力题目及答案
- 医院科研奖励管理办法
- 上汽大众产品与业务培训
- 物流运输服务承诺与质量保证措施
- 车间级职代会培训课件
- 质量信息反馈管理制度
评论
0/150
提交评论