热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

嵌入式web服务器lighttpd的交叉编译及配置(forarmlinux)

备注:PCLinux:Ubuntu-15.10PCLinux用户:rootlighttpd版本:1.4.39arm-linu

备注:
PC Linux:Ubuntu-15.10
PC Linux用户:root
lighttpd版本:1.4.39
arm-linux-gcc版本:arm-hisiv200-linux-gcc
arm Linux用户:root

1.  编译、安装
1.1  先到lighttpd官网下载对应版本的软件包
 http://www.lighttpd.net/
 我下载的是lighttpd-1.4.39.tar.gz
1.2  将压缩包解压到任意目录(我的是/user/)得到文件夹lighttpd-1.4.39
1.3  打开控制台,cd进入lighttpd-1.4.39目录
1.4   配置lighttpd。

   1.4.1 执行命令:
   CC=arm-hisiv200-linux-gcc  ./configure  --prefix=/user/rootfs  -- host=arm-linux  --without-zlib  --without-bzip2

   1.4.2 如果没有环境的,需要在编译lighttpd之前,安装pcre。
CC=arm-hisiv200-linux-gcc PCRECONFIG=/usr/local/pcre/bin/pcre-config  ./configure --prefix=/user/rootfs  --host=arm-linux  --without-zlib 
--without-bzip2


1.5  编译lighttpd,执行命令:
   make
1.6  安装lighttpd,执行命令:
   make  install
1.7   安装完成后,在安装目录 /opt/web/lighttpd-1.4.30-x86 中生成 lib、sbin和share三个文件夹,如下图所示:
 

2. 配置
2.1. 在安装目录 /opt/web/lighttpd-1.4.30-arm 中手动创建如下文件夹:cache、cgi-bin、config、log、sockets、upload、vhosts、webpages。如下图所示:
 
2.2. 将源码包中doc/config目录下的config.d、lighttpd.conf和modules.conf复制到安装目录中config文件夹里面,如下图所示:
 
2.3. 修改刚复制过来的lighttpd.conf文件
1)将16行至20行修改为如下修改:
   var.log_root    = "/opt/web/lighttpd-1.4.30-arm/log"
   var.server_root = "/opt/web/lighttpd-1.4.30-arm"
   var.state_dir   = "/opt/web/lighttpd-1.4.30-arm"
   var.home_dir    = "/opt/web/lighttpd-1.4.30-arm"
   var.conf_dir    = "/opt/web/lighttpd-1.4.30-arm/config"
2)将61行和93行修改为如下修改:
  var.cache_dir   = server_root + "/cache"
  server.use-ipv6 = "disable"
3)将104和105行注释掉,如下修改:
 #server.username  = "lighttpd"
 #server.groupname = "lighttpd"
4)将115行修改为如下修改:
 server.document-root = server_root + "/webpages"
5)将127行注释掉,如下修改:
 #server.pid-file = state_dir + "/lighttpd.pid"
6)如果不需要查看错误日志文件,可以将141行注释掉,如下修改:
 #server.errorlog             = log_root + "/error.log"
7)将152行、158行、191行注释掉,如下修改:
 #include "conf.d/access_log.conf"
 #include "conf.d/debug.conf"
 #server.network-backend = "linux-sendfile"
8)根据系统资源设置207行和225行的数值,本系统的设置分别如下修改:
 server.max-fds = 256
 server.max-connections = 128
9)将314至316行注释掉,如下修改:
 #$HTTP["url"] =~ "\.pdf$" {
 #  server.range-requests = "disable"
 #}
10)将373行修改为如下修改:
 server.upload-dirs = ( "/opt/web/lighttpd-1.4.30-arm/upload" )

2.4. 修改刚复制过来的modules.conf文件
1)找到43行,将光标定位到逗号后面,回车,插入如下内容:
  "mod_alias",
2)使能CGI模块,将138行的注释符去掉,如下修改:
  include "conf.d/cgi.conf"

2.5. 修改刚复制过来的conf.d文件夹里面的cgi.conf文件
1)将15至19行这一段配置修改如下:
原文内容:
cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                               ".cgi" => "/usr/bin/perl",
                               ".rb"  => "/usr/bin/ruby",
                               ".erb" => "/usr/bin/eruby",
                               ".py"  => "/usr/bin/python" )
更改后:
cgi.assign = (".cgi" => "")
#cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
#                               ".cgi" => "/usr/bin/perl",
#                               ".rb"  => "/usr/bin/ruby",
#                               ".erb" => "/usr/bin/eruby",
#                               ".py"  => "/usr/bin/python" )
2)将28行的注释符去掉,如下所示:
alias.url += ( "/cgi-bin" => server_root + "/cgi-bin" )

3. 运行测试
3.1. 在任意地方创建一空白文档,在文档中输入如下HTML代码:






轻量级web服务器lighttpd的编译及配置(for arm-linux)




测试页面




3.2. 将文档保存为index.html,并复制到安装目录中的webpages文件夹里面,如下图所示:
 
3.3. 将安装目录 /user/rootfs 从主机复制到开发板中相同的目录。
3.4. 打开开发板的控制台(串口控制台或者SSH控制台),cd进入到lighttpd可执行文件的安装目录:cd /user/rootfs/sbin/
3.5. 启动lighttpd服务器 ./lighttpd -f ../config/lighttpd.conf,如下图所示:
 
3.6. 启动网页浏览器,输入开发板的IP地址,回车,即可浏览到刚才创建的主页了,如下图所示:
 
3.7. 关闭服务器:
 执行ps  查看进程号,kill进程号。

转:https://www.cnblogs.com/suidan1314/p/5268165.html



推荐阅读
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • 线程能否先以安全方式获取对象,再进行非安全发布? ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • Linux系统中默认安装目录有哪些?Tomcat在Linux下的默认安装路径是什么?
    在Linux系统中,默认安装目录通常包括 `/usr`, `/opt`, 和 `/var` 等。对于Tomcat而言,在Linux下的默认安装路径通常是 `/opt/tomcat` 或者 `/usr/local/tomcat`。具体路径可能会因不同的发行版和配置而有所差异。例如,在Ubuntu Server中,Tomcat的默认安装路径通常是 `/opt/tomcat`。这些目录的选择旨在确保系统的整洁性和可维护性。 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
author-avatar
我是你的小pig的美丽家园
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有