嵌入式web开发:boa、lighttpd

嵌入式web开发:boa、lighttpd

https://blog.csdn.net/m0_37105371/category_10937068.html

BOA服务器的移植-CSDN博客

【第1部分:boa服务器部署到ubuntu里】

http://www.boa.org/boa-0.94.13.tar.gz

tar xvzf boa-0.94.13.tar.gz

cd boa-0.94.13/src/

apt-get install bison flex

sudo rm -rf /var/lib/dpkg/lock

vim compat.h 120行 修改成 #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

vim boa.c 225行 注释这行:DIE("icky Linux kernel bug!");

./configure

make

ls -lh boa

mkdir /etc/boa

cp ../boa.conf /etc/boa/

vim /etc/boa/boa.conf

80 修改为 8080

/var/www 修改为 /var/www/html

User nobody 修改为 User root

Group nogroup 修改为 Group 0

最后一行加 AddType application/x-httpd-cgi php

mkdir /var/log/boa

echo '' > /var/log/boa/error_log

echo '' > /var/log/boa/access_log

./boa

或 /home/fch/boa-0.94.13/src/boa

ps -ef | grep boa

http://ip:8080测试打开

【第2部分:移植boa到嵌入式linux】

安装交叉编译链

安装交叉编译链 - Powered by MinDoc

cd /home/fch

rz

tar -xvzf gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz

vi ~/.bashrc

export PATH=/home/fch/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin:$PATH

source ~/.bashrc

which arm-linux-gnueabihf-gcc

cd boa-0.94.13/src

修改Makefile

CC = arm-linux-gnueabihf-gcc

CPP = arm-linux-gnueabihf-gcc -E

make clean

make

开发板执行:

mkdir /etc/boa

mkdir /var/log/boa

echo '' > /var/log/boa/error_log

echo '' > /var/log/boa/access_log

echo '' > /var/log/boa/cgi_log

备份之前的

mv /etc/boa/boa.conf /etc/boa/boa.conf2

mv /usr/sbin/boa /usr/sbin/boa2

mv /etc/mime.types /etc/mime.types2

mv /usr/lib/boa/boa_indexer /usr/lib/boa/boa_indexer2

删除 rm /etc/boa/boa.conf /usr/sbin/boa /etc/mime.types /usr/lib/boa/boa_indexer

虚拟机下载

sz /etc/boa/boa.conf

cd /etc/boa rz

sz /home/fch/boa-0.94.13/src/boa

cd /usr/sbin rz chmod +x boa

sz /etc/mime.types

cd /etc rz

sz /home/fch/boa-0.94.13/src/boa_indexer

cd /usr/lib/boa rz chmod +x boa_indexer

mkdir /usr/lib/cgi-bin/

启动

/usr/sbin/boa

如下更改还提示502错误,暂时无法解决

vi /var/www/html/acs/phpinfo.php

增加:#!/usr/bin/php-cgi

【第3部分:lighttpd】

find / -name "*lighttpd*"

/etc/lighttpd

/etc/lighttpd/lighttpd.conf

/run/lighttpd.pid

/tmp/lighttpd-error.log

/usr/lib/lighttpd

/usr/sbin/lighttpd

/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

修改:配置文件:

vi /etc/lighttpd/lighttpd.conf

修改:模块文件:

vi /etc/lighttpd/modules.conf

1.在server.modules 中 去掉注释: "mod_rewrite",新增 "mod_cgi",

2.去掉注释: include "conf.d/cgi.conf"

3.增加注释: server.username = "www-data"

4.增加注释: server.groupname = "www-data"

5.最后增加

url.rewrite-once = (

"^/static/(.*)" => "$0",

"^/(\^.+)$" => "/index.php"

)

修改cgi:

vi /etc/lighttpd/conf.d/cgi.conf

cgi.assign = (".php" => "/usr/bin/php-cgi")

启动:

lighttpd -f /etc/lighttpd/lighttpd.conf -D

------------------------------------------------lighttpd-----------------------------------------------------

移植到其他板子

===在166(正式在用的一个板子)上执行===

cd /

tar -cvf lighttpd.tar.gz /etc/lighttpd/* /run/lighttpd.pid /tmp/lighttpd* /usr/lib/lighttpd/* /usr/sbin/lighttpd

sz lighttpd.tar.gz

解压该文件,然后再压缩成zip文件 lighttpd.zip

===在其他板子上执行===

mv /etc/init.d/S50nginx /etc/init.d/nginxbak

cd /

rz

选择lighttpd.zip

unzip -o lighttpd.zip

chmod +x /usr/sbin/lighttpd

rm lighttpd.zip

----------------------------------烧录完的板子连接方法-----------------------------------------------

  1. 准备putty软件
  2. 输入连接参数(参考Win7下使用Putty代替超级终端通过COM串口连接开发板方法 - ☆星空物语☆ - 博客园
  1. 连接后确认ip信息和网口接入是否正确 (需要设置root密码 passwd root)
  2. 板子ip修改 (以修改eth1 网口ip为10.10.2.111为例)

4.1记下来默认HWaddr参数

4.2编辑配置文件vi /etc/network/interfaces

加入配置参数

auto eth0

iface eth0 inet static

pre-up ifconfig eth0 hw ether 00:30:1B:BA:02:DB

address 192.168.1.77

netmask 255.255.255.0

auto eth1

iface eth1 inet static

pre-up ifconfig eth1 hw ether 00:30:1B:BA:02:DB

address 10.10.2.111

netmask 255.255.255.0

gateway 10.10.2.254

4.3保存信息后 reboot ip生效

  1. ssh软件连接对应ip
  2. cd /etc/init.d

rz 上传 S99myrclocal (其他好用环境下/etc/init.d 中下载)

chmod 777 S99myrclocal

------------------------------------------------代码上传-----------------------------------------------------

  1. cd var/www
  2. mkdir html
  3. cd html
  4. mkdir acs
  5. rz 选择code.zip
  6. unzip -o code.zip
  7. 启动:lighttpd -f /etc/lighttpd/lighttpd.conf -D

进网页修改ip地址和终端地址为板子的真实ip,如下图:

reboot

/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf (如果以上弄完还不好使,执行这个命令启动lighttpd 或者删除板子上的 lighttpd 文件夹,新解压安装lighttpd.zip)

------------------------------------------------程序烧录----------------------------------------------------

烧录实际操作

教程地址

Purple Pi R1 烧录流程 · INDUSTIO

相关推荐
金豆呀8 小时前
WPS批量提取Word文档内容生成固定格式Excel表格
word·excel·wps
Access开发易登软件9 小时前
Access 怎么做前后端分离?用 Web API 读写 SQL Server
前端·数据库·人工智能·microsoft·excel·access
红莲凪是1 天前
使用二次封装的Excel COM 组件操作Excel\WPS ET IExcelRange 高级应用
python·excel·wps
用户298698530141 天前
如何使用免费工具在线将 Excel 转换为 XML 格式
人工智能·后端·excel
开开心心就好1 天前
内存清理工具定时自动清理开机自启动
java·开发语言·elasticsearch·ocr·excel·音视频·big data
开开心心就好1 天前
电脑内存优化工具一键释放内存超简单
java·开发语言·macos·arcgis·ocr·excel·音视频
随手工具-Excel, pdf, SQL1 天前
没有 SSMS 导入向导?Excel/CSV 一键生成 SQL Server INSERT 脚本
excel·sql server·在线工具·insert·测试数据·ssms·t-sql
SunnyDays10112 天前
Python 将 Excel(XLS/XLSX)转换为 JSON:导出工作簿、工作表、单元格区域与自定义 JSON 结构
python·json·excel·excel 转 json·导出 excel 到 json·xlsx 转 json·xls 转 json
chatexcel2 天前
ChatExcel AI Word 升级:多模态读资料、按模板生成、智能排版配图,还能批注修订和联动Excel 复核
人工智能·ai·word·excel·ai写作
北极糊的狐2 天前
Excel快速拆分一列数据为两列(领养例子)该摘要描述了如何将包含姓名和电话的混合数据列拆分为单独的两列
excel