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. [BJWC2010]严格次小生成树(LCA,最小生成树)

    [BJWC2010]严格次小生成树 题目描述 小C最近学了很多最小生成树的算法,Prim算法.Kurskal算法.消圈算法等等.正当小C洋洋得意之时,小P又来泼小C冷水了.小P说,让小C求出一个无向图 ...

  2. CSS--使用CSS Grid(网格)布局

    .一 CSS Grid(网格布局)简介 CSS Grid 布局由两个核心组成部分是父元素和子元素,父元素 是实际的 grid(网格),子元素是 grid(网格) 内的内容.下面是一个父元素和六个子元素 ...

  3. java 关键字volatile

    一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...

  4. URL编码表

    url编码是一种浏览器用来打包表单输入的格式. 定义 url编码是一种浏览器用来打包表单输入的格式.浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送 ...

  5. python基本数据预处理语法函数(2)

    1.字符串格式化方法format的用法: < ^ > #分别为左对齐.居中.右对齐 '{:>18,.2f}'.format(70305084.0) #:冒号+空白填充+右对齐+固定宽 ...

  6. 【Python】安装Python3,打印HelloWorld

    安装地址: https://www.python.org/ 安装时勾选添加path然后一路next,搞定! 查看是否安装成功: cmd中输入python出现如下界面 在vscode中新建一个Hello ...

  7. Python Web框架本质——Python Web开发系列一

    前言:了解一件事情本质的那一瞬间总能让我获得巨大的愉悦感,希望这篇文章也能帮助到您. 目的:本文主要简单介绍Web开发中三大基本功能:Socket实现.路由系统.模板引擎渲染. 进入正题. 一. 基础 ...

  8. LintCode之移动零

    题目描述: 分析:由于要使非零元素保持原数组的顺序,我只能想出在找到一个0时,逐个移动数组元素使得后一个元素覆盖前一个元素,再将这个0移到后头去. 我的代码: public class Solutio ...

  9. isset、empty 误区

    isset()  常用来判定变量是否存在  但是当变量赋值为NUll时候,返回值一样是FALSE  而实际上变量是存在的,与实际情况不符,判定错误. empty() 用来判定变量或者类的属性值是否为等 ...

  10. 【转】 C语言深度解剖读书笔记(1.关键字的秘密)

    本文出处:http://blog.csdn.net/mbh_1991/article/details/10149805 开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有 ...