mtk android内置nginx服务器的方法

因为项目需要,需要在一台android 6572的方法上内置nginx.

首先,使用arm-linux-gcc编译nginx。

我们先手动安装nginx,看看是否可行,如果可行,然后再在代码中间集成。

1, 现在android上面建立gnulib的环境

先把相关库push到android的/system/lib/上

ld-linux.so.3

libc.so.6

libnsl.so.1

libnss_compat.so.2

libnss_dns.so.2

libnss_files.so.2

libnss_hesiod.so.2

libnss_nis.so.2

libnss_nisplus.so.2

libresolv.so.2

然后把相关配置文件放到/system/etc/

group

host.conf

hosts

localtime

nsswitch.conf

passwd

resolv.conf

还要把nginx服务器的/system/etc/nginx/conf下面

adb remount

adb shell

cd system/etc

mkdir nginx

cd nginx

mkdir conf

文件包括

fastcgi.conf

fastcgi.conf.default

fastcgi_params

fastcgi_params.default

install.sh

koi-utf

koi-win

mime.types

mime.types.default

nginx.conf

nginx.conf.default

scgi_params

scgi_params.default

uwsgi_params

uwsgi_params.default

win-utf

最后把编译的nginx放到/system/bin/,并修改可执行属性

adb push nginx /system/bin/

adb shell chmod 777 /system/bin/nginx

push之后,进入adb shell试验运行

adb shell

nginx -c /system/etc/nginx/conf/nginx.conf

提示

[email protected]:/ # nginx -c /system/etc/nginx/conf/nginx.cong

nginx: [alert] could not open error log file: open() "/data/data/android.nginx/logs/error.log" failed (2: No such file or directory)

2013/01/01 08:55:24 [emerg] 3592#0: open() "/system/etc/nginx/conf/nginx.cong" failed (2: No such file or directory)

我们需要在/data/data/下面建立android.nginx/logs

adb shell

cd /data/data/

mkdir android.nginx

cd android.nginx

mkdir logs

再次执行,可以正确执行。

打开手机端的浏览器,输入127.0.0.1,可以正确执行。

当然具体执行结果需要安装项目要求定制nginx.conf文件了。

下面把nginx内置到mtk 6572的源代码里面

第一步,内置gnulib库,把

ld-linux.so.3

libc.so.6

libnsl.so.1

libnss_compat.so.2

libnss_dns.so.2

libnss_files.so.2

libnss_hesiod.so.2

libnss_nis.so.2

libnss_nisplus.so.2

libresolv.so.2

放到./alps/vendor/mediatek/project_name/artifacts/out/target/product/project_name/system/lib

第二步,把gnulib的配置文件

group

host.conf

hosts

localtime

nsswitch.conf

passwd

resolv.conf

放到./alps/vendor/mediatek/project_name/artifacts/out/target/product/project_name/system/etc下面

第三步,把nginx服务器的配置相关文件

fastcgi.conf

fastcgi.conf.default

fastcgi_params

fastcgi_params.default

install.sh

koi-utf

koi-win

mime.types

mime.types.default

nginx.conf

nginx.conf.default

scgi_params

scgi_params.default

uwsgi_params

uwsgi_params.default

win-utf

放到./alps/vendor/mediatek/project_name/artifacts/out/target/product/project_name/system/etc/nginx/conf下面

第四步,在./alps/vendor/mediatek/project_name/artifacts/out/target/product/project_name/system/etc/nginx/wwwroot文件夹下放置我所需要放置的文件

第五步,把nginx放到./alps/vendor/mediatek/project_name/artifacts/out/target/product/project_name/system/bin下面

第六步,建立一个脚本文件

#!/system/bin/sh

nginx -c /system/etc/nginx/conf/nginx.conf

命名startNginx

放置到./alps/vendor/mediatek/project_name/artifacts/out/target/product/project_name/system/bin下面

第七步,修改alps/mediatek/config/mt6572/init.rc,在on post-fs-data中添加

mkdir /data/data/android.nginx

mkdir /data/data/android.nginx/logs/

第八步,修改alps/mediatek/config/mt6572/init.rc,添加nginx的启动

service init-setup /system/bin/startNginx

class main

user root

group root

oneshot

on property:sys.boot_completed=1

start  init-setup

然后new一遍代码。OK。

时间: 2024-08-08 01:27:50

mtk android内置nginx服务器的方法的相关文章

下载PHPDroid: 基于WebView和PHP内置HTTP服务器开发Android应用

基于Android上的PHP(比如我打包的PHPDroid),寥寥几行PHP代码,就能实现一个支持无线局域网用浏览器访问的Android手机的Shell,用于执行命令和PHP代码.       个人在Ubuntu上使用交叉编译工具链  arm-none-linux-gnueabi 或 musl-cross-compilers(推荐)  按照  DroidPHP 的教程 cross_compile_php.txt 这是我使用musl-cross-compilers交叉编译Android版PHP7的

[Modern PHP] 第二章 新特性之七 内置HTTP服务器

内置HTTP服务器 你知道PHP从5.4.0开始有了一个内置的web服务器吗?对于那些只知道使用Apache或者nginx去预览PHP页面的PHP开发者们来说这又是一块未被发掘的宝石.虽然你不能在产品环境中使用PHP的内置web服务器,但是这个功能对于本地开发来说真是的一个完美的工具. 无论我是否在写PHP代码,反正每天都会使用PHP的内置web服务器.我会使用它来预览Laravel和Slim Framework(译者注:框架的作者就是本书的作者Josh Lockhart)应用程序,在使用Dru

JavaScript 中关于Date的内置对象属性和方法的总结

Date 属性: 1.constructor    所建立对象的函数参考 2.prototype      能够为对象加入的属性和方法 方法: 1.getDay()    返回一周中的第几天(0-6) 2.getYear()    返回年份.2000年以前为2位,2000(包含)以后为4位 3.getFullYear()     返回完整的4位年份数 4.getMonth()      返回月份数(0-11) 5.getDate()       返回日(1-31) 6.getHours()  

PHP 5.4版本有 内置 web 服务器,赞!

PHP是一种脚本语言,它需要PHP解释器来分析运行PHP文件.当把PHP做为CGI服务Web请求时,它需要被嵌入到某种Web服务器里,最常 见的是集成到Apache或IIS里,这就是说,在使用PHP前,你需要安装Apache或IIS,并且正确的配置它们和PHP集成的参数.虽然这种配置 已经很规范,文档非常丰富,但我们还是经常在安装Apache和PHP集成时遇到问题,而且,有时候我们只想测试一个简单的PHP特征,不想就为此安装. 启动Apache服务. 但据官方文档上说,这个内置的Web服务器只是

PHP 5.4 内置Web服务器

PHP是一种脚本语言,它需要PHP解释器来分析运行PHP文件.当把PHP做为CGI服务Web请求时,它需要被嵌入到某种Web服务器里,最常见的是集成到Apache或IIS里,这就是说,在使用PHP前,你需要安装Apache或IIS,并且正确的配置它们和PHP集成的参数.虽然这种配置已经很规范,文档非常丰富,但我们还是经常在安装Apache和PHP集成时遇到问题,而且,有时候我们只想测试一个简单的PHP特征,不想就为此安装.启动Apache服务. 但据官方文档上说,这个内置的Web服务器只是提供开

Android内置颜色及其它颜色RGB对照表

参考:http://blog.csdn.net/feiyangxiaomi/article/details/38338305 我们在平时开发时经常要用到各种颜色,有了下面这两张表,妈妈再也不用担心你的配色问题了. 一:内置颜色: public static final int BLACK Added in API level 1 Constant Value: -16777216 (0xff000000)        public static final int BLUE Added in 

PHP 5.4 内置 web 服务器

之前 OSC 翻译了一篇文章:在 Windows 上使用 PHP 5.4 内置的 Web 服务器 下面这篇文章来自外刊IT评论翻译的在 Linux 下使用 PHP 5.4 内置 Web 服务器 PHP是一种脚本语言,它需要PHP解释器来分析运行PHP文件.当把PHP做为CGI服务Web请求时,它需要被嵌入到某种Web服务器里,最常 见的是集成到Apache或IIS里,这就是说,在使用PHP前,你需要安装Apache或IIS,并且正确的配置它们和PHP集成的参数.虽然这种配置 已经很规范,文档非常

Python内置的服务器的使用

cd 到某一文件 Python内置的服务器: E:\myObject\office\netObject\new-gcms> python -m SimpleHTTPServer 8888 如果是Python 3+ python -m http.server 8888 当本地服务器运行起来时,即可访问 http://localhost:8888/ 原文地址:https://www.cnblogs.com/lvshoutao/p/9463073.html

Android 学习心得(2)——Android内置数据库SQLite

一.简介: Android有一个内置数据库SQLite,它是一种轻型数据库,它有五种数据类型:NULL(空型).BLOB(二进制).INTEGER(整型).REAL(浮点型).TEXT(字符串文本),虽然有着五种数据之分,但是在内部SQLite存储数据是无类型的,也就是说你可以在integer中存入char数据之类的.  二.要点: INTEGER PRIMARY KEY中只能存放64位整数 在编写CREATE TABLE时候可以省略字段后面的数据类型 SQLite中可以解析大部分标准SQL语句