• (转载)openwrt nginx


    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管理页面了
    

      

  • 相关阅读:
    文字转语音功能
    windows定时计划任务
    写电子合同,爬过的坑,趟过的雷,犯过的错,都是泪
    前端应该如何去认识http
    I/O理解
    观察者模式
    js --代理模式
    js --策略模式
    js --单例模式
    js 单线程 异步
  • 原文地址:https://www.cnblogs.com/xiaohuamao/p/9789963.html
Copyright © 2020-2023  润新知