(转载)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管理页面了
(转载)openwrt nginx的更多相关文章
- OpenWrt+nginx+php安装discuz
下面这个图片是本次的硬件资源:一个无线路由器的开发板,一个8G的u盘,一条手机的数据线(可以作为串口和供电使用),一条网线,一个USB Hub. <ignore_js_op> ...
- 【转载】nginx 并发数问题思考:worker_connections,worker_processes与 max clients
注:这个文章主要是作者一直在研究nginx作为http server和反向代理服务器时候所谓最大的max_clients和 worker_connections的计算公式, 其实最后的结论也没有卡上公 ...
- 【转载】Nginx+Tomcat 动静分离实现负载均衡
0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 1 # 定义Nginx运行的用户 和 用户组 如 ...
- [转载+整理]Nginx Location匹配规则
目录 规则语法 location 分类 匹配顺序: 扩展 location / {}和 location =/ {}的区别 测试 规则语法 语法 匹配规则 空 普通匹配(遵循最大前缀匹配规则, 优先度 ...
- (转载)Nginx Windows详细安装部署教程
本文转载自:https://www.cnblogs.com/taiyonghai/p/9402734.html 一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服 ...
- 转载:Nginx做反向代理和负载均衡时“X-Forwarded-For”信息头的处理
转载自:https://blog.51cto.com/wjw7702/1150225 一.概述 如今利用nginx做反向代理和负载均衡的实例已经很多了,针对不同的应用场合,还有很多需要注意的地方,本文 ...
- 转载: Nginx 通览
转载地址:https://developer.51cto.com/art/201912/608365.htm Nginx 简介 Nginx 是一个免费.开源.高性能.轻量级的 HTTP 和反向代理服务 ...
- 【转载】Nginx多服务绑定80端口及映射域名
多服务绑定80端口及映射域名 说明:业务需要配置的样例模板,如需深入了解,请查看官方文档 1.Nginx配置文件nginx.conf(可拆分多台机器部署) worker_processes 1; e ...
- [转载] 深入 nginx 架构
原文: http://www.cnbeta.com/articles/402709.htm 了解 nginx 架构帮助我们学习如何开发高性能 web 服务. 为了更好地理解设计,你需要了解NGINX是 ...
随机推荐
- Vue项目引入sass
最近两天手头的事情暂时搞完了,可以抽出空来学习一下东西,之前项目都是鹏哥搭建好了,我们在直接在里面写代码,sass语法用来写样式还是比较方便常用的,今天就来试试怎么引入和配置sass 参考文章:Vue ...
- nuxt项目在windows环境下安装部署
1.nodejs安装,地址 https://nodejs.org/en/ 2.在本地项目中运行npm run build 命令将开发好的项目打包生成.nuxt文件夹,然后把.nuxt文件夹.nux ...
- shell常见的返回状态码
- dubbo-源码阅读之容器启动
dubbo Main 例子 public class Start { public static void main(String[] args) throws Exception { com.ali ...
- jquery控件-实现自定义样式的弹出窗口和确认框(转)
(function () { $.MsgBox = { Alert: function (title, msg) { GenerateHtml("alert", title, ms ...
- Makefile中的$(addprefix),添加前缀,指定目标生成目录
先给大家看段Makefile的代码吧: INCLUDE_DIR=usr/java/jdk1..0_25/include \ usr/java/jdk1..0_25/include/linux INCL ...
- 9、Python 连接 PostgreSQL数据库 -- psycopg2
1.cmd pip install psycopg2 -- 提示错误信息 2.pip show pip -->查看当前pip版本 3.python -m pip install --upg ...
- mysqldump 导出数据库
mysqldump -h47.52.67.230 -P3306 -uroot -pAbc\!@#456789 --hex-blob --opt test_fooku_db >/home/test ...
- Laravel5.5添加新路由文件并制定规则
Laravel5.5里面有4个默认的路由文件,其中web.php是默认路由文件,如果需要添加其他路由文件,按照以下步骤进行. 此处以添加网站home前端路由举例,我已经先在/app/Http/Cont ...
- 59. jdk1.5新特性之----增强for循环
/*jdk1.5新特性之----增强for循环:底层是一个迭代器 作用:简化迭代器书写格式 使用范围:实现了Iterable接口的对象或者数组对象 格式: for(变量类型 变量名 :遍历目标 ...