Linux下移植web服务

移植web配置界面需要依赖17个三方库:cgilua-5.2.1、curl-7.70.0、libfcgi-2.4.0.orig、lighttpd-1.4.55、lua-5.3.4、luafilesystem-1.7、luamqtt-master、lua-openssl、luasec-master、luasocket-master、openssl-1.1.1g、pcre-8.44、readline-8.0、rings-master、termcap-1.3.1、wget-1.20.3、wsapi-1.7;具体每个三方库可以根据需要下载不同版本,但是针对不同版本需要做一个兼容处理。
在移植过程中需要根据平台交叉编译工具链对依赖的三方库做交叉编译工具链指定、./configure、make和make install处理,找的生产的.so.a等依赖文件。

#!/bin/bash

CC=/usr/local/ARM-toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
CXX=/usr/local/ARM-toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
LIB_PATH=/home/xxx/other/xxx/install/

make CC= C C P L A T = l i n u x I N S T A L L T O P = / h o m e / x x x / o t h e r / x x x / i n s t a l l / l u a M Y C F L A G S = " − I CC PLAT=linux INSTALL_TOP=/home/xxx/other/xxx/install/lua MYCFLAGS="-I CCPLAT=linuxINSTALLTOP=/home/xxx/other/xxx/install/luaMYCFLAGS="ILIB_PATH/readline/include -I L I B P A T H / t e r m c a p / i n c l u d e − f P I C " M Y L D F L A G S = " − L LIB_PATH/termcap/include -fPIC" MYLDFLAGS="-L LIBPATH/termcap/includefPIC"MYLDFLAGS="LLIB_PATH/readline/lib -L L I B P A T H / t e r m c a p / l i b " M Y L I B S = − l t e r m c a p m a k e C C = LIB_PATH/termcap/lib" MYLIBS=-ltermcap make CC= LIBPATH/termcap/lib"MYLIBS=ltermcapmakeCC=CC PLAT=linux INSTALL_TOP=/home/xxx/other/xxx/install/lua install
交叉编译全部打包完成以后,需要将生成的三方库全部拷贝到lib文件夹下,使用LD_LIBRARY_PATH=/data/xsy/lib命令告诉lighttpd所依赖的so路径,app文件下保存了web界面相关得文件,conf下的sys.conf用于保存web界面的设置参数

其他文件lighttpd用于保存lighttpd运行依赖的一些可执行文件,log文件用于保存一些调试信息,lua用于保存相关的依赖,run用户保存进程执行过程中生成的一些中间文件;

\rootfs\rootfs\data\xxx\lighttpd\conf\lighttpd.conf是一个比较关键的配置文件:
server.document-root = “/data/xxx/apps/console/www”
server.pid-file = “/data/xxx/run/lighttpd.pid”
server.errorlog = “/data/xxx/lighttpd/log/error.log”
server.upload-dirs = ("/data/xxx/lighttpd/tmp")
需要指定依赖路径
fastcgi.server = (
“/” =>
( “localhost” =>
( “socket” => “/data/xxx/lighttpd/tmp/lua-fastcgi.socket”,
#“bin-path” => “/data/xxx/lua/bin/wsapi.fcgi”,
“bin-path” => “/data/xxx/lua/bin/cgilua.fcgi”,
“max-procs” => 1,
“check-local” => “disable”,
“docroot” => “/data/xxx/apps/console/api”
)
)
)
指定socket、bin-path和docroot路径

移植调试中遇到的问题:多因为不同lua版本导致系统不兼容引起lighttpd启动失败,需要根据具体问题做相应的源码修改处理;遇到某些接口无法调用时,可以通过register ringer()方式查看出现问题的原因做进一步调试;
在进行app界面问题调试时:遇到问题可以打开调用pc浏览器页面打印信息做进一步分析调试。

合入到固件需要执行的一些操作:
1、需要将xxx文件放到设备的data文件夹下

2、启动需要执行的脚本命令

chmod 777 wget curl netcfg
chmod 777 /data/xxx/lighttpd/sbin/*
chmod 777 /data/xxx/lua/bin/*

LD_LIBRARY_PATH=/data/xsy/lib
/data/xxx/lighttpd/sbin/lighttpd -f /data/xxx/lighttpd/conf/lighttpd.conf -m /data/xxx/lighttpd/lib

3、配置文件:/data/xxx/conf/sys.conf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值