ln -s  ../../../feeds/packages/net/fcgiwrap/ fcgiwrap

  

本帖最后由 cjd6568358 于 2018-6-4 11:21 编辑

刚又把路由器重置重新操作了一遍流程,确认无误后整理了教程(
有人问为什么要把uhttpd换成nginx?
1、首先uhttpd运行缓慢
2、也有用lighttpd代替的,速度还可以但是他的反向代理只支持IP不支持域名
3、有想要在路由器上面建站的大多数用的是php,不想同时开启多个web服务器,nginx刚好可以满足我的一切需求
) 使用nginx代替uhttpd 1、禁用uhttpd(防止安装nginx后自动运行出现端口冲突)
/etc/init.d/uhttpd stop
/etc/init.d/uhttpd disable
复制代码 2、安装依赖
opkg install libpcre nginx spawn-fcgi fcgi fcgiwrap
复制代码 注意:nginx默认是不可以直接执行cgi的(luci的运行方式就是cgi),但是可以代理fcgi,所以这里我们需要用fcgiwrap来包装下luci的cgi
fcgiwrap运行依赖spawn-fcgi和fcgi,这两个都可以在对应的安装源找到,但是fcgiwrap官方源貌似没有,需要编译。这里给出源代码地址和编译方式,各位有能力的可以试试
fcgiwrap
在OpenWrt上移植fcgiwrap为nginx提供cgi支持 我用的fcgiwrap版本刚好论坛里有人编译出来了,所以直接用的他的,平台是MT7620,HG255D也可用
PS:这个版本的fcgiwrap整合了shell脚本,所以如果用了这个版本的第四步不需要了,改成修改/etc/init.d/fcgiwrap start_service方法
start_service() {
echo -e "Starting $NAME ..."
#procd_set_param command $SPAWN_FCGI -u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -P $PIDFILE -F $FORK_NUM -f $DAEMON
$SPAWN_FCGI -a 127.0.0.1 -p 9000 -f $DAEMON -F $FORK_NUM
}
复制代码 对应的启动脚本
/etc/init.d/fcgiwrap start
/etc/init.d/fcgiwrap restart
复制代码 3、修改/etc/nginx/nginx.conf
server {
listen 80;
server_name localhost;
charset UTF-8;
# access_log /tmp/access_80.log main;
# error_log /tmp/error_80.log debug;
autoindex on;
root /www;
location ~* /cgi-bin/luci.* {
root /www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index /cgi-bin/luci; fastcgi_split_path_info (/cgi-bin/luci)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
复制代码 4、启动spawn-fcgi(如需开机自动运行,可将命令添加到/etc/rc.local)
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -f /usr/sbin/fcgiwrap -F 2
复制代码 5、启动nginx
/etc/init.d/nginx enable
/etc/init.d/nginx start
复制代码 6、移除uhttpd
opkg remove uhttpd
复制代码 到了这一步就可以打开浏览器输入192.168.1.1正常访问luci管理页面了

  

(转载)openwrt nginx的更多相关文章

  1. OpenWrt+nginx+php安装discuz

    下面这个图片是本次的硬件资源:一个无线路由器的开发板,一个8G的u盘,一条手机的数据线(可以作为串口和供电使用),一条网线,一个USB Hub. <ignore_js_op>        ...

  2. 【转载】nginx 并发数问题思考:worker_connections,worker_processes与 max clients

    注:这个文章主要是作者一直在研究nginx作为http server和反向代理服务器时候所谓最大的max_clients和 worker_connections的计算公式, 其实最后的结论也没有卡上公 ...

  3. 【转载】Nginx+Tomcat 动静分离实现负载均衡

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 1 # 定义Nginx运行的用户 和 用户组 如 ...

  4. [转载+整理]Nginx Location匹配规则

    目录 规则语法 location 分类 匹配顺序: 扩展 location / {}和 location =/ {}的区别 测试 规则语法 语法 匹配规则 空 普通匹配(遵循最大前缀匹配规则, 优先度 ...

  5. (转载)Nginx Windows详细安装部署教程

    本文转载自:https://www.cnblogs.com/taiyonghai/p/9402734.html 一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服 ...

  6. 转载:Nginx做反向代理和负载均衡时“X-Forwarded-For”信息头的处理

    转载自:https://blog.51cto.com/wjw7702/1150225 一.概述 如今利用nginx做反向代理和负载均衡的实例已经很多了,针对不同的应用场合,还有很多需要注意的地方,本文 ...

  7. 转载: Nginx 通览

    转载地址:https://developer.51cto.com/art/201912/608365.htm Nginx 简介 Nginx 是一个免费.开源.高性能.轻量级的 HTTP 和反向代理服务 ...

  8. 【转载】Nginx多服务绑定80端口及映射域名

    多服务绑定80端口及映射域名 说明:业务需要配置的样例模板,如需深入了解,请查看官方文档 1.Nginx配置文件nginx.conf(可拆分多台机器部署) worker_processes  1; e ...

  9. [转载] 深入 nginx 架构

    原文: http://www.cnbeta.com/articles/402709.htm 了解 nginx 架构帮助我们学习如何开发高性能 web 服务. 为了更好地理解设计,你需要了解NGINX是 ...

随机推荐

  1. 理解Java GC日志

    idea 在vm options处加入-XX:+PrintGCDetails,可打印GC日志. public class ReferenceCountingGC { public Object ins ...

  2. SSD网络结构

    SSD算法,其英文全名是Single Shot MultiBox Detector. SSD的网络结构流程如下图所示:SSD总共11个block,相比较于之前的VGG16,改变了第5个block的第4 ...

  3. HBase之BlockCache数据读取(转)

    转自:http://blog.csdn.net/u014297175/article/details/47976909 Hbase上Regionserver的内存分为两个部分,一部分作为Memstor ...

  4. 1.隐藏继承的成员new / 虚方法(override)/ abstract / 多态 ----- 重写

    总结: 1. 在继承上, new/override没区别 2. 在多态上,new不支持多态,override支持 在C#中改变类中相同名称的方法的实现过程中有三种方式:重载.重写和覆盖. 重载:指具有 ...

  5. Java中的LinkedList

  6. H5新属性 contenteditable

    contenteditable 属性规定元素内容是否可编辑 <div contenteditable style="width: 100px;height:100px"> ...

  7. BZOJ 1565: [NOI2009]植物大战僵尸(网络流+缩点)

    传送门 解题思路 最大权闭合子图.但是要注意一些细节,假如有一堆植物形成一个环,那么这些植物都是无敌的,并且他们保护的植物是无敌的,他们保护的保护的植物是无敌 的.所以要缩点,然后拓扑排序一次判无敌, ...

  8. AcWing 142. 前缀统计 字典树打卡

    给定N个字符串S1,S2…SNS1,S2…SN,接下来进行M次询问,每次询问给定一个字符串T,求S1S1-SNSN中有多少个字符串是T的前缀. 输入字符串的总长度不超过106106,仅包含小写字母. ...

  9. php 如何实现 数据库 连接池

    php 如何实现 数据库 连接池 一.总结 一句话总结: php+sqlrelay+mysql实现连接池及读写负载均衡 master-slave模式增加并发. sqlrelay 解决连接池问题以及实现 ...

  10. Go 方法、接口

        在 Go 中,类型可以定义接收此类型的函数,即方法.每个类型都有接口,意味着对那个类型定义了方法集合. 下面定义了结构体类型 S 以及它的两个方法: type S struct { i int ...