1.先到lighttpd官网下载对应版本的软件包:

如: lighttpd-1.4.30.tar.gz

2. 将压缩包解压到任意目录得到文件夹 lighttpd-1.4.30

3. 执行配置命令: 

bash ./configure CC=arm-hisiv600-linux-gcc AR=arm-hisiv600-linux-ar LD=arm-hisiv600-linux-ld RANLIB=arm-hisiv600-linux-ranlib STRIP=arm-hisiv600-linux-strip --prefix=/opt/web/lighttpd-1.4.30-arm --host=arm-hisiv600-linux --build=i686-pc-linux --disable-FEATURE --enable-shared --disable-static --disable-lfs --disable-ipv6 --without-PACKAGE --without-valgrind --without-openssl --without-kerberos5 --without-pcre --without-zlib --without-bzip2 --without-lua

(其中的交叉编译工具、安装目录根据项目要求更改)

4.  编译lighttpd,执行命令:
make


5.  安装lighttpd,执行命令: 
make  install(可能出现权限不够,加上sudo解决)

6. 安装完成后,在安装目录
/opt/web/lighttpd-1.4.30-x86 中会自动生成 lib、sbin和share三个文件夹:

7. 在安装目录 /opt/web/lighttpd-1.4.30-arm
中手动创建如下8个文件夹:cache、cgi-bin、config、log、sockets、upload、vhosts、webpages:

8. 将源码包中doc/config目录下的config.d、lighttpd.conf和modules.conf复制到安装目录中config文件夹里面,如下图所示:

9. 修改刚复制过来的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 =
server.max-connections =


9)将314至316行注释掉,如下修改:
#$HTTP["url"]
=~ "\.pdf$" {

server.range-requests = "disable"
#}

10)将373行修改为如下修改:
server.upload-dirs = ( "/opt/web/lighttpd-1.4.30-arm/upload" )

(和你的安装路径有关)

10. 修改刚复制过来的modules.conf文件:


1)找到43行,将光标定位到逗号后面,回车,插入如下内容:
"mod_alias",


2)使能CGI模块,将138行的注释符去掉,如下修改:
include
"conf.d/cgi.conf"

11. 修改刚复制过来的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" )

12. 在安装目录中的webpages文件夹里面创建一index.html文档,内容自定义:

13.将安装目录
/opt/web/lighttpd-1.4.30-arm 从主机复制到252开发板中相同的目录:

1)压缩文件lighttpd-1.4.30-arm

tar -czvf 压缩后文件名.tar.gz 要压缩的文件名

2) 下载压缩后的文件

sz 压缩后文件名.tar.gz

3).ftp上传到开发板(需要传输工具,打开后选择要传的文件所在路径),输入命令:

ftpget  –u 服务器用户名  -p服务器密码  本机ftp服务器IP  文件名

4)打开开发板的控制台(串口控制台或者SSH控制台),cd进入到lighttpd可执行文件的安装目录:

cd /opt/web/lighttpd-1.4.30-arm/sbin/

5)启动lighttpd服务器 

./lighttpd -f ../config/lighttpd.conf

可能找不到lib,无法启动,在命令后加上-m ../lib(./lighttpd -f ../config/lighttpd.conf -m ../lib

-f后是配置lighttpd.conf的位置,-m是lib所在的位置)

(个人项目更换了目录:/var/www/sbin/lighttpd -f
/var/www/config/lighttpd.conf -m /var/www/lib/)

6)启动浏览器,输入开发板的IP地址,回车,即可浏览到刚才创建的index.html

7)关闭服务器:

killall lighttpd

附录:

1.修改端口(不一定需要改)

cd /opt/web/lighttpd-1.4.30-arm/config # vi
lighttpd.conf

修改里面的port

部署Lighttpd到252板子的更多相关文章

  1. 更新252板子代码(前端+cgi中间件)

    1.前端代码 前端的html.css.js代码,利用打包工具生成dist文件夹,放入lighttpd的指定目录. 2.cgi中间件 1)编译 1.下载代码工程V100R100C00 2.将工程代码以共 ...

  2. ahjesus 部署lighttpd

    这个就不写了,直接传送门过去看,按照说的做就可以了 如果你想要安装最新版的,传送门 需要注意的是configure这一步,你看完他的help以后还要输入 ./configure 才能继续下一步 再就是 ...

  3. 上传.cgi在252板子上跑

    1.windows下写好.c程序 2.进入linux,准备交叉编译 arm-hisiv600-linux-gcc -g -Wall -o xxx.cgi xxx.c(交叉编译工具取决于板子) 3.把. ...

  4. max os x lighttpd + php + mysql 部署

    手贱,升级了max os x 到Yosemite,系统默认装了nginx,php,开机会自动启动!1 开机启动脚本默认在下面位置: /Library/LaunchDaemons/com.root.ng ...

  5. 基于Tomcat的Solr3.5集群部署

    基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...

  6. Nginx反向代理和负载均衡部署指南

    1.        安装 1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: ...

  7. 针对github权限导致hexo部署失败的解决方案

    hexo deplay出错,没有反应 今天想在自己的另一个博客地址(链接地址)上更新一下博客,没想到hexo deplay没有反应,以下是解决过程:(更新于 2016-12-24 11:17:43) ...

  8. 关于Apache/Tomcat/JBOSS/Neginx/lighttpd/Jetty等一些常见服务器的区别比较和理解

    先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...

  9. Oracle RAC安装部署文档

    1.    部署环境步骤 1.1 软件环境 操作系统:CentOS release 6.5(推荐使用5.*的系统)192.168.1.151    racnode1 192.168.1.152    ...

随机推荐

  1. sysbench github & manual

    sysbench github https://github.com/akopytov/sysbench sysbench-manual.pdf https://github.com/mrivandu ...

  2. 进程间的mutex

    设两个进程共用一个临界资源的互斥信号量mutex=1,当mutex=-1时表示(). 一个进程进入了临界区,另一个进程等待 没有一个进程进入临界区 两个进程都进入临界区 两个进程都在等待 互斥信号量不 ...

  3. 牛客ACM赛 B [小a的旅行计划 ]

    链接 B 小a的旅行计划 把\(n\)个数中选任意数分成\(a,b\)两个集合,集合无区别,要求不包含且有交,求方案数.\(n\leq 10^{13}\) 首先讨论\(a,b\)并集是否为全集: 若是 ...

  4. HDU 1373 XYZZY (spfa的特殊用法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1317 题目大意:有n个房间,编号1-n,房间之间有单向门连接.某人初始位于1号房间,且具有100点能量 ...

  5. 2019最新create-react-app创建的react中使用sass/scss,以及在react中使用sass/scss公共变量的方法

    Sass(英文全称:Syntactically Awesome Stylesheets)是一个最初由Hampton Catlin设计并由Natalie Weizenbaum开发的层叠样式表语言.Sas ...

  6. 第四章 QML语法

    4.1 语法基础 import QtQuick 2.6 import QtQuick.Window 2.2 Rectangle { width: 400 height: 400 color: &quo ...

  7. 20180816-Java 多态

    Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性是对象多种表现形式的体现. 比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫.小狗.蜥蜴 ...

  8. vue双向数据绑定对于数组和新增对象属性不能监听的解决办法

    出现数组不能按照索引进行跟新的原因是处于性能考虑的,但是整体数组的增加删除是可以监听到的:对于对象新增属性不能监听是因为没有在生成vue实例时候放进watcher收集依赖. 首先我们先来了解vue数据 ...

  9. 学习日记7、mvc +easyui datagrid excel上传

    1.首先获取datagrid所有行的数据 var rows = $("#List").datagrid("getRows"); 2.进行数据转换转化成JSON格 ...

  10. Jsoup获取DOM元素

    (1)doc.getElementsByTag(String tagName); (2)doc.getElementById(String id); (3)doc.getElementsByClass ...