当前位置: 首页 > news >正文

自己做网站语言构建服务器南宁网络推广服务商

自己做网站语言构建服务器,南宁网络推广服务商,鞋店网站建设方案,如何建立像淘宝一样的网站BOA服务器概述 BOA是一款非常小巧的Web服务器,源代码开放、性能优秀、支持CGI通用网关接口技术,特别适合用在嵌入式系统中。 BOA服务器主要功能是在互联嵌入式设备之间进行信息交互,达到通用网络对嵌入式设备进行监控,并将反馈信…

BOA服务器概述

BOA是一款非常小巧的Web服务器,源代码开放、性能优秀、支持CGI通用网关接口技术,特别适合用在嵌入式系统中。
BOA服务器主要功能是在互联嵌入式设备之间进行信息交互,达到通用网络对嵌入式设备进行监控,并将反馈信息自动上传给主控设备的目的。它是基于HTTP超文本传输协议的,Web网页是Web服务最基本的传输单元。嵌入式Web服务的工作基于客户机/服务器计算模型,由Web浏览器(客户机)和Web服务器(服务器)构成,也就是著名的B/S结构。运行与客户端的浏览器首先要与嵌入式Web服务器BOA端建立连接,打开一个套接字虚拟文件,此文件建立标志着socket连接建立成功然后客户端浏览器通过套接字socket以GET或者POST参数传递方式向Web服务器提交请求,Web浏览器提交请求后,用过HTTP协议传输给Web服务器。Web服务器接到请求后,根据请求的不同进行事务处理,返回HTML文件或者通过CGI调用外部应用程序,返回处理结果。服务器通过CGI与外部应用程序和脚本之间进行交互,根据客户端浏览器在请求时所采用的方法,服务器会搜集客户端所提供的信息,并将该部分信息发送给指定的CGI扩展程序,CGI扩展程序进行信息处理并将结果返回给服务器,然后服务器对信息进行分析,并将结果发送回客户端在浏览器上显示出来。

通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后结果返回给客户端。组成CGI通信的两部分:一是HTML页面,就是用户浏览器上现实的页面;二就是运行在服务器上的CGI程序。

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

BOA源码下载

官网地址:www.boa.org

BOA编译环境准备

将压缩包存放至服务器root目录下,并进行解压

tar -xvf boa-0.94.13.tar.gz

安装boa编译

cd boa-0.94.13
sudo apt-get install bison flex

 BOA /src目录下类库处理

1、修改defines.h文件,设置启动服务器时寻找boa.conf配置文件的路径。

/root/boa-0.94.13/src$ pwd
/root/boa-0.94.13/src
/root/boa-0.94.13/src$ vi defines.h  +30//修改内容如下  注释30行 添加31行29 #ifndef SERVER_ROOT30 //#define SERVER_ROOT "/etc/boa"31 #define SERVER_ROOT "/root/boa"32 #endif

 2、修改compat.h 文件,在 compat.h 文件中的宏定义问题: ‘TIMEZONE_OFFSET’

/root/boa-0.94.13/src$ vi compat.h +120
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff

  3、修改boa.c 文件,注释掉226-228行这三行注释掉,否则 boa 启动时会出现“boa.c:226 - icky linux kernel bug!: No suchfile or directory 错误”

/root/boa-0.94.13/src$vi boa.c +226226         //if (setuid(0) != -1) {
227             //DIE("icky Linux kernel bug!");
228         //}

  4、修改log.c 文件,⑴注释掉73-75行这三行注释掉,log.c:73 - unable to dup2 the error log: Bad file descriptor;⑵config.c 中 使用了 log.c 中声明的变量 但 log.c 中未将这些变量 声明为 extern 类型,修改 log.c 31-33 行;

//解决log.c:73 - unable to dup2 the error log: Bad file descriptor;/root/boa-0.94.13/src$ vi log.c +7373         //if (dup2(error_log, STDERR_FILENO) == -1) {
74	         //DIE("unable to dup2 the error log");
75         //}//解决multiple definition of `cgi_log_name'; config.o:/home/slocker/boa-0.94.13/src/config.c:63: first defined here,修改 log.c 31-33 行//修改后
31 extern char *error_log_name;
32 extern char *access_log_name;
33 extern char *cgi_log_name;

  BOA 编译

1、生成Makefile`

/root/boa-0.94.13/src$ pwd
/root/boa-0.94.13/src
/root/boa-0.94.13/src$ ./configure 

2、编译

/root/boa-0.94.13/src$ pwd
/root/boa-0.94.13/src
/root/boa-0.94.13/src$ make -4j

   BOA 部署

1、创建BOA服务器目录

/root/boa-0.94.13/src$ mkdir -p ~/boa/bin
/root/boa-0.94.13/src$ mkdir ~/boa/log
/root/boa-0.94.13/src$ mkdir ~/boa/www
/root/boa-0.94.13/src$ mkdir ~/boa/www/cgi-bin
/root/boa-0.94.13/src$
/root/boa-0.94.13/src$ tree ~/boa
/root/boa
├── bin
├── log
└── www└── cgi-bin4 directories, 0 files
/root/boa-0.94.13/src$

2、将可执行文件boa拷贝到/root/boa/bin目录下

/root/boa-0.94.13/src$ pwd
/root/boa-0.94.13/src
/root/boa-0.94.13/src$ cp boa ~/boa/bin/
/root/boa-0.94.13/src

3、将boa.conf拷贝到~/boa/目录下

/root/boa-0.94.13$ pwd
/root/boa-0.94.13
/root/boa-0.94.13$ cp boa.conf ~/boa/
/root/boa-0.94.13

4、修改配置文件boa.conf

/root/boa$ pwd
/root/boa
/root/boa$ vi boa.conf
/root/boa25 Port 8048 #User nobody
49 #Group nogroup
50 User 0
51 Group 064 ErrorLog /root/boa/log/error_log76 AccessLog /root/boa/log/access_log113 DocumentRoot /root/boa/www157 MimeTypes /root/boa/mime.types166 CGIPath /bin175 AddType application/x-httpd-cgi cgi195 ScriptAlias /cgi-bin/ /root/boa/www/cgi-bin/

5、创建log和拷贝mime文件

/root$ cp /etc/mime.types ~/boa
/root/boa/log$ mkdir error_log
/root/boa/log$ mkdir access_log

6、创建index.html

/root/boa/www$ mkdir index.html
/root/boa/www$ vi index.html<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Boa Web Server</title>
</head><body><h1>Boa Web Server</h1>
</body></html>

7、创建CGI文件, test.c

/root/boa/www/cgi-bin$ mkdir test.c
/root/boa/www/cgi-bin$ vi test.c#include <stdio.h>  
int main()  
{  printf("Content-type:text/html\n\n"); //这句一定要加上  printf("<html><body>");  printf("<font style=\"color:red; font-size:30px;\">Hello, CGI!</font><br/>");  printf("<a href=\"/index.html\">return index.html</a>");  printf("</body></html>");  return 0;  
} 

 8、启动服务器

/root/boa/bin$ ./boa
/root/boa/bin$ ps -a | grep "boa"4490 pts/1    00:00:00 boa
/root/boa/bin$

 9、测试,浏览器输入http://192.168.100.129/

http://www.zhongyajixie.com/news/65298.html

相关文章:

  • 潍坊网站建设费用网站排名优化
  • 网站添加cnzz武汉整站seo数据上云
  • 怎么在搜狐快站上做网站商业推广软文范例
  • 滁州网站建设价格seo黑帽技术
  • 给别人做时时彩网站违法不西安网站外包
  • 做pcb网站网页制作模板的网站
  • 做电商网站的设计思路有什么小红书关键词排名怎么做
  • 网站建设 软件开发的公司哪家好百度企业查询
  • 网站建设便宜的公司seo自动工具
  • 国外做各种趣味实验的网站怎么注册一个自己的网站
  • 网站建设php心得体会长尾关键词查询
  • 付费做网站关键词优化是怎么做的呀自己怎么开网站
  • 北京高端网站建设图片大全谷歌seo工具
  • 织梦网站程序模板百度推广后台登陆官网
  • 想在网站上放百度广告怎么做百度网盘资源免费搜索引擎入口
  • 广州哪里有做公司网站 什么价外包客服平台
  • 企业建站系统java竞价托管外包服务
  • abc网站建设是什么意思今天最新新闻报道
  • brackets做网站教程天津百度推广公司
  • wordpress判断首页选择不同模板培训如何优化网站
  • 做网站的费用会计分录嘉兴网站建设制作
  • 河南省住房和建设厅网站产品怎样推广有效
  • 权重高的博客网站全自动引流推广软件下载
  • 沈阳犀牛云做网站怎么样哈尔滨seo优化
  • 路由器怎么做网站旺道seo软件
  • 国家允许哪几个网站做顺风车网络营销的发展现状如何
  • 典型营销型网站有哪些销售
  • 做外贸需要关注的网站有什么问题东莞网站设计公司排名
  • 8上的信息课做网站作业企业推广平台
  • 用书籍上的文章做网站更新网站推广优化怎么做最好