Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >嵌入式Web服务器移植

嵌入式Web服务器移植

作者头像
Java架构师必看
发布于 2021-03-22 03:27:23
发布于 2021-03-22 03:27:23
1.2K0
举报
文章被收录于专栏:Java架构师必看Java架构师必看

第一步Boa程序的移植1、下载Boa源码   下载地址:http://www.boa.org/网络

第一步 Boa程序的移植

1、下载Boa源码

    下载地址: http://www.boa.org/, 或者 http://sourceforge.net

    最新发行版本: 0.94.13

    下载 boa-0.94.13.tar.gz,注意:从boa上下载的是boa-0.94.13.tar.tar,解压方式一样

    解压: # tar xzf boa-0.94.13.tar.gz

2、生成Makefile文件

    直接运行src/configure文件

3、修改Makefile文件

    a、

修改 CC = gcc 为 CC = /usr/local/arm/2.95.3/bin/arm-linux-gcc

    b、

修改 CPP = gcc - E 为 CPP = /usr/local/arm/2.95.3/bin/arm-linux-gcc -E

4、编译

# make

# /usr/local/arm/2.95.3/bin/arm-linux-strip boa

第二步 Boa的配置

    Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。在Boa源码目录下已有一个示例boa.conf,可以在其基础上进行修改。

1、Group的修改

修改 Group nogroup 为 Group 0

    由于在/etc/group文件中没有nogroup组,所以设成0。另外在/etc/passwd中有nobody用户,所以User nobody不用修改。

2、scrīptAlias的修改

修改 scrīptAlias /cgi-bin/   /usr/lib/cgi-bin/ 为 scrīptAlias /cgi-bin/   /var/www/cgi-bin/

3、ServerName的设置

修改 ServerName www.your.org.here 为 ServerName www.your.org.here

    注意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No such file or directory”,所以必须打开。其它默认设置即可。

第三部:Boa的执行

    成功配置以后,还需要创建日志文件所在目录/var/log/boa,创建HTML文档的主目录/var/www,将静态网页存入该目录下(可以将主机 /usr/share/doc/HTML/目录下的index.html文件和img目录复制到/var/www目录下),创建CGI脚本所在录 /var/www/cgi-bin,将cgi的脚本存放在该目录下。另外还要将mime.types文件复制/etc目录下,通常可以从linux主机的 /etc目录下直接复制即可。

    实际运行时,可以将index.html文件、img目录和mime.types文件放到CF卡目录下,建立目录后,拷贝至相应目录。

    制作run.sh

mkdir /etc/boa cp /cf/boa/boa.conf /etc/boa/ mkdir /var/log mkdir /var/log/boa mkdir /var/www cp /cf/boa/index.html /var/www/ cp -r /cf/boa/img /var/www/ mkdir /var/www/cgi-bin cp /cf/boa/mime.types /etc/ cp /cf/boa/boa / ./boa &

    直接在浏览器中输入http://192.168.1.107,出现Red Hat的欢迎网页。静态HTML调试成功。

第四步 CGI脚本测试

1、编写Helloworld.c程序

#include <stdio.h> int main(void) {         printf("Content-type: text/html\n\n");         printf("<html>\n");         printf("<head><title>CGI Output</title></head>\n");         printf("<body>\n");         printf("<h1>Hello,world.</h1>\n");         printf("<body>\n");         printf("</html>\n");         exit(0); }

    交叉编译生成helloworld.cgi

# /usr/local/arm/2.95.3/bin/arm-linux-gcc -o helloworld.cgi helloworld.c

2、浏览

    将helloworld.cgi拷贝至/var/www/cgi-bin/下,浏览器输入

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
实用 | 10分钟教你搭建一个嵌入式web服务器
之前分享的文章:常见的嵌入式web服务器有哪些?中分享了几种可以在嵌入式中使用的web服务器。
用户2366192
2021/08/27
2.8K0
实用 | 10分钟教你搭建一个嵌入式web服务器
Ubuntu18.04安装arm-linux-gcc交叉编译工具(附arm-linux-gcc 5.4.0包)
下载(百度云)链接:https://pan.baidu.com/s/1AeqzkboWkJDJjU9HxtXhrA 提取码:uzup
全栈程序员站长
2022/06/28
4.4K0
Ubuntu18.04安装arm-linux-gcc交叉编译工具(附arm-linux-gcc 5.4.0包)
awstats 安装
来自 http://www.cnblogs.com/fnng/archive/2012/08/31/2666175.html
全栈程序员站长
2022/09/13
2120
【教程】移植web server到Ubuntu就是这么简单!
window下载thttpd,地址:http://www.acme.com/software/thttpd/
韦东山
2020/09/30
8920
【教程】移植web server到Ubuntu就是这么简单!
嵌入式Linux系列第15篇:WebServer使用
Server一般有两种含义,一种是表示硬件,通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机。另外一种含义是表示软件程序,这种程序主要用来对外提供某些服务,比如邮件服务、数据库服务、域名服务、网页服务等。
用户2366192
2021/05/31
2.1K0
heartbeat实现web服务器高可用
heartbeat的工作原理:heartbeat最核心的包括两个。部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务
胡齐
2019/09/26
1.8K1
heartbeat实现web服务器高可用
fsl-imx-xll-glibc交叉编译boa服务器
他这个编译器安装比较简单,直接运行这个脚本即可:默认安装到opt下面,我这个是安装过一次了,所以会提示是否覆盖。
fensnote
2022/12/13
1.3K0
fsl-imx-xll-glibc交叉编译boa服务器
CentOS7下搭建postfix邮箱服务器并实现extmail的web访问
笔记内容:CentOS7下搭建postfix邮箱服务器并实现extmail的web访问
端碗吹水
2020/09/23
4.2K0
CentOS7下搭建postfix邮箱服务器并实现extmail的web访问
Linux应用开发:嵌入式Linux下矢量字体运用
FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,可以非常方便我们开发字体显示相关的程序功能。它支持单色位图、反走样位图的渲染。FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType的用户可以灵活地对它进行裁剪。关于freetype的详细信息可以参考freetype的官方网站:https://www.freetype.org/来获取更多相关的信息。
DS小龙哥
2022/01/12
4.6K0
Linux应用开发:嵌入式Linux下矢量字体运用
Apache Httpd服务器之基础教程
Httpd服务器是Apache产品线下的一款web服务器,常与PHP或Python等CGI脚本一起配合使用,为用户提供动态Web服务。httpd,从名字就可以看出,它提供的主要是基于http协议的Web服务。本篇为介绍Httpd服务器的第一篇,主要介绍下Httpd服务器的安装,运行模式,容器配置,以及CGI的配置,目的是使大家能通过阅读此篇文章来从零建立起一个可运行的Web服务器。
星哥玩云
2022/07/04
1.1K0
Postfix + Extmail 企业邮件服务器搭建
ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统。
王瑞MVP
2022/12/28
3.2K0
Postfix + Extmail 企业邮件服务器搭建
Apache的httpd.conf文件配置详解
Apache的基本设置主要交由httpd.conf来设定管理,我们要修改Apache的相关设定,主要还是通过修改httpd.cong来实现。下面让我们来看看httpd.conf的内容,它主要分成3大部分: Section 1:Global Environment Section 2:'Main' server configurationphpma.com Section 3:Virtual Hosts 【第一部分】 ·ServerType standalone 这表示Apache是以standalone启动
wangxl
2018/03/07
2.7K0
HTTP的WEB服务器到底在做些什么?
Web 服务器逻辑实现了 HTTP 协议、 管理着 Web 资源, 并负责提供 Web 服务器的管理功能。
网络安全自修室
2021/11/25
5360
HTTP的WEB服务器到底在做些什么?
嵌入式Linux系列第17篇:移植OpenCV
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法。OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。本篇介绍ARM Linux下OpenCV的移植和简单使用。
用户2366192
2021/05/31
3.1K0
linux sendmail发送邮件_shell上传文件到服务器
Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它。对它的学习,也能让我们更深的了解邮件系统的运作。下面我们就来看看sendmail邮件服务器的部署。
全栈程序员站长
2022/09/20
2.2K0
GoAhead环境变量注入复现踩坑记
GoAhead曾经出现过一次环境变量注入漏洞,建议先看下Vulhub中相关的漏洞环境与描述:GoAhead Web Server HTTPd 'LD_PRELOAD' Remote Code Execution (CVE-2017-17562)。
phith0n
2023/11/03
6530
GoAhead环境变量注入复现踩坑记
嵌入式 linux 根文件系统原理和制作方法
一套linux体系,只有内核本身是不能工作的,必须要 rootfs 上的 etc 目录下的配置文件、/bin /sbin 等目录下的 shell 命令,还有 /lib 目录下的库文件等···)相配合才能工作 。
杨源鑫
2021/07/30
4.3K0
VVの嵌入式(一)开发环境搭建
平台:Ubuntu32位虚拟机 目标平台:海思Hi3559V100 工欲善其事必先利其器,在进行嵌入式linux开发的时候需要搭建一个能够调试的环境,在电脑上无疑是最好最方便的了。至于虚拟机怎么搭建就不多说了,这里我用的32位的Ubuntu16.04主要是方便编译之前文章中自己写的OS 首先安装aarch64-linux-gnu工具链
Pulsar-V
2019/08/08
1.4K0
Ubuntu 18.04安装arm-linux-gcc交叉编译器的两种方法(附下载地址)
方法一:   我们都知道Ubuntu有一个专门用来安装软件的工具apt,我们可以用它来全自动安装arm-linux-gcc。   此方法安装的是最新版的,但是此方法需要翻墙,否则99%会失败,这就是为什么网上大多都用压缩包安装的原因:   首先Ctrl+Alt+T弹出终端,使用如下命令进行arm-linux-gcc的安装:
嵌入式与Linux那些事
2021/05/20
8.4K0
C语言开发Linux下web服务器(支持GET/POST,SSL,目录显示等)
http://blog.csdn.net/yueguanghaidao/article/details/8450938
bear_fish
2018/09/20
2.7K0
C语言开发Linux下web服务器(支持GET/POST,SSL,目录显示等)
推荐阅读
相关推荐
实用 | 10分钟教你搭建一个嵌入式web服务器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档