你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
主页
问答
专栏
课程
插件
发现
下载
社区统计
积分规则
关于我们
登录
注册
热门问答
问答广场
等你来答
0
回答
upload;dest file removed
upload文件失败
彧彧
提问于2020-08-13 14:32
老师您好: 我这边用nginx的upload模块做了一个简易文件服务器,由于上传上来的文件经过nginx后会自动加密,为了保持源文件名,搜索到了一个js程序,对上传的文件进行文件名字的转换,但是在使用过程中发现有大量的错误日志如下:2020/08/04 05:57:26 [alert] 30596#0: *508475 aborted uploading file "log_1064811520685_20161128001500.tar.gz" to "/home/nginx/log/0000253566", dest file removed, client: IP, server: localhost, request: "POST /upload HTTP/1.1", host: "IP:PORT"我的nginx upload模块配置如下: location /upload { upload_pass /res_upload; upload_store /home/nginx/log/; upload_resumable on; ###node rename parm upload_set_form_field "${upload_field_name}_name" $upload_file_name; upload_set_form_field "${upload_field_name}_content_type" $upload_content_type; upload_set_form_field "${upload_field_name}_path" $upload_tmp_path; upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5; upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size; }location /res_upload { #default_type text/html; #return 200 "success"; proxy_pass http://localhost:8090; } 其中用到的rename.js如下const http = require(‘http‘); const fs = require(‘fs‘); http.createServer((req, res) => { let body = ‘‘; req.on(‘data‘, chunk => { body += chunk; // 获取form-data }); req.on(‘end‘, () => { console.log(body); const params = parseForm(body); // json化参数 rename(params.file_path, params.file_name); res.end(‘success: you can get it from: /‘ + params.file_name); }) }).listen(8090) function parseForm(data) { const reg = /name="([\w_]+)"\s+(.+)\s/g; const params = {}; let matched; while((matched = reg.exec(data))){ params[matched[1]] = matched[2]; } console.log(params); return params; } function rename(source, name){ const path = require(‘path‘); const dir = path.dirname(source); fs.renameSync(source, path.join(dir, name)); }百度未找到解决方法,还望老师指点一二
4
回答
寻找自带生成NIGNX配置文件工具
Nginspher
回答于2020-09-25 11:29
有没有可以自动生成各种场景下的配置文件。
1
回答
指令proxy_cache_valid指令问题
陶辉
回答于2021-01-07 15:47
在配置缓存的时候,第一次我没有配置proxy_cache_valid,结果发现本地没有生产缓存文件。每次请求都需要从上游服务器获得。配置了proxy_cache_valid any 30m;以后问题得到解决。请问,1, 这个proxy_cache_valid指令是用来做什么的?为什么不使用这条指令nginx不生产缓存文件? 2 , 这条指令后面的时间参数是用来控制什么的? 和proxy_cache_path中的invalid参数有什么不同?多谢!
0
回答
启动Nginx服务,文件变成只读。
浩聪
提问于2021-01-24 12:28
故障如图所示:在一台centos6.5系统下,通过授权的root权限的admin账号安装和配置Nginx,但启动Nginx服务,报系统文件只读了,需要把系统重启一下就好了,不知道什么原因。
1
回答
新添加后模块,源文件可以删除么 ?
皮皮鲁
回答于2021-01-22 17:49
./configure --prefix=/usr/local/nginx --add-module=/opt/fastdfs-nginx-module-1.22/src 我在/opt目录添加一个Ngin模块,nginx编译完成后,在/opt目录下的模块是否可以删除,还是ningx需要一直加载/opt目录下模块。
1
回答
Nginx
mirror
流量复制
nginx ngx_http_mirror_module 流量复制阻塞问题
陶辉
回答于2020-09-17 14:15
使用 ngx_http_mirror_module 进行流量复制的时候遇到一个问题,请教各位大佬问题背景准备在不影响生产环境的情况下将生产入口流量复制一份到测试环境,做测试验证工作;问题描述当测试环境的服务器响应缓慢或者停掉的时候,会阻塞生产的请求响应,这个是绝对不能接受的。nginx 配置如下图所示,安装nginx后只添加了 mirror 复制配置,其他均未作调整192.168.132.8 部署nginx,master(模拟生产服务器)服务节点192.168.132.1 部署mirror(模拟测试服务器)服务节点 listen 80; server_name 192.168.132.8; #charset koi8-r; #access_log logs/host.access.log main; location / { mirror /mirror; proxy_pass http://192.168.132.8:8080; } location = /mirror { internal; proxy_pass http://192.168.132.1:8090/$request_uri; proxy_set_header X-Original-URI $request_uri; }测试结果 场景TPS 直连 master 4532 通过 nginx 访问 master 2567 通过 nginx 访问 master 并复制流量到 mirror 675 通过 nginx 访问 master 并复制流量到 mirror (mirror throw exception) 883 通过 nginx 访问 master 并复制流量到 mirror (mirror sleep 10s 后返回) 9.7 通过 nginx 访问 master 并复制流量到 mirror (mirror 停机) 阻塞 期望效果复制流量到测试环境完全不影响生产环境的使用,(无论测试环境是否停机,抛出异常,或是阻塞,都不影响生产环境的使用)添加nginx代理进行流量复制后,性能下降控制在可接收范围内(TPS 从 2567 直接降到 675 确实降低太多)
1
回答
QUIC
HTTP3
UDP
Nginx QUIC如何区分支持 gQUIC 和 ietf QUIC
陶辉
回答于2020-10-30 10:08
看了陶辉老师 infoQ 上 “Nginx支持 QUIC/HTTP3的实现路径和实践思考” 的公开课的回放,有几个问题十分想提问一下。1. 目前市面上的QUIC太多了,微软的MSQUIC、Google的GQUIC还有 IETF 的 QUIC,这么多QUIC都是不一样的标准,wireshark抓包解析完全和老师课上演示的不一样(因为抓到的是g),Nginx 该如何支持。据我了解,阿里云gslb是支持gQUIC的。而且chrome浏览器应该也是默认发的是gQUIC。2. 公开课结尾有同学提到是否QUIC有弱点,我个人感觉QUIC的最大弱点就是UDP吧,UDP太灵活了,迟早有人会参考KCP把QUIC改成完全不遵守“交通规则”的协议,因为拥塞控制算法完全由用户可控了,我为了自己快,疯狂发包就完事了。而且QUIC把这些本应该内核考虑的事情都提到用户态做了,是否会对Nginx的资源使用率造成压力(是否有测过相同配置下,开启QUIC是否承受的QPS会更小)3. 陶辉老师还有类似HTTP3的分享吗?
1
回答
NGINX UNIT
怎么看 NGINX 团队新出的 NGINX-UNIT?
守望
回答于2020-08-27 12:54
貌似是 nginx https://www.nginx.com/products/nginx-unit/ 而且还是开源的:nginx/unit 看起来应该是将 PHP 等一些模块直接编译进去了?是不是性能将更加优于 php-fpm
1
回答
windows
Ngins
Sticky
ip_hash
url_hash
windows版Nginx能否集成第三方插件Sticky
浩聪
回答于2020-09-05 22:07
windows版的Nginx能否集成第三方插件nginx-sticky-module或者使用url_hash,或者有什么其他可替代ip_hash的方法,求教!
1
回答
mac
m1
zsh:killed
Macbook pro m1 安装nginx启动不了 zsh: killed
皮皮鲁
回答于2020-12-08 12:55
有没有大神有解决办法,不甚感激!!
0
回答
nginx搭建静态文件服务器
像雾像雨又像风
提问于2020-08-20 18:03
搭建静态文件服务器后,发现由于文件名称太长,导致的显示非对齐问题,百度一圈后,果断请教大神。
1
回答
NGINX如何使用非root账号运行
云原生
回答于2021-01-22 23:42
怎么使用非root账号运行Nginx,前期要怎么配置和安装。
1
回答
NGINX proxy_buffering 指令
陶辉
回答于2021-01-18 13:58
请问,如果启用了proxy_buffering, NGINX从上游服务器读取数据时的行为是下面哪一种? 1.把所有的上游数据都先读到buffer里面,buffer不够就使用磁盘临时文件,等读完以后再传给客户端。 2.读一部分上游响应先放到buffering里面,然后立刻发送给客户端。依次循环直到读完所有的上游返回的内容?
1
回答
502错误页面
子请求中请求上游服务失败502页面自定义
13191816265@qq.com
回答于2020-08-26 16:07
大佬们好! 我最近遇到upstream上游服务宕掉,但是nginx回复一个502错误页面的问题。当我查看代码后发现该页面是在代码中写死的,并且查看了代码的逻辑也不知道该如何使得nginx不返回该页面: 502 Bad Gateway 502 Bad Gateway openresty/1.15.8.2 因为我是在模块开发的过程中使用 ngx_http_subrequest 生成了子请求,并在子请求中location中使用proxy_pass请求上游服务,因此当上游服务如果有问题的时候,我希望能在主请求中做出response,而不是由nginx代回复。 因此我想知道,如果上游服务失败或者上游服务宕掉的情况下,可不可以让nginx不返回这个502页面,或者发回的body我可以过滤掉不让其返回给客户端?
1
回答
有什么方法可以查看网站支持哪些请求方法?
陶辉
回答于2021-01-07 16:48
比如说在nginx中配置Allow-Methods和 Allow-Headers,怎么知道网站支持哪些?add_header Access-Control-Allow-Methods ‘GET,POST‘; add_header Access-Control-Allow-Headers ‘*‘; add_header Access-Control-Allow-Credentials ‘true‘; # JD 可以看到 运行所有( Access-Control-Allow-Origin: *)curl -I -XGET www.jd.com HTTP/1.1 302 Moved Temporarily Server: nginx Date: Thu, 07 Jan 2021 08:09:52 GMT Content-Type: text/html Content-Length: 138 Connection: keep-alive Location: https://www.jd.com/ Access-Control-Allow-Origin: * Timing-Allow-Origin: * X-Trace: 302-1610006992561-0-0-0-0-0 Strict-Transport-Security: max-age=360 #淘宝没显示curl -I -XPUT www.taobao.comHTTP/1.1 301 Moved Permanently Server: Tengine Date: Thu, 07 Jan 2021 08:11:31 GMT Content-Type: text/html Content-Length: 278 Connection: keep-alive Location: https://www.taobao.com/ Via: cache10.cn2434[,0] Timing-Allow-Origin: * EagleId: 700f049e16100070914034934e # QQ也没显示curl -I -XGET www.qq.com HTTP/1.1 302 Moved Temporarily Server: ias/1.3.5_1.17.3 Date: Thu, 07 Jan 2021 08:11:58 GMT Content-Type: text/html Content-Length: 149 Connection: keep-alive Location: https://www.qq.com/ curl -I -XDELETE www.qq.comHTTP/1.1 302 Moved Temporarily Server: ias/1.3.5_1.17.3 Date: Thu, 07 Jan 2021 08:12:10 GMT Content-Type: text/html Content-Length: 149 Connection: keep-alive Location: https://www.qq.com/
1
回答
nginx使用
关于nginx reload操作问题
陶辉
回答于2021-01-18 09:19
在拥有长连接正在运行的nginx中执行nginx -s relaod操作,偶尔存在老进程变成僵尸进程,新进程无法正常使用的情况,有遇到这样现象的么?或者说这个问题该如何排查一下?
1
回答
filter;main;
filter模块中的 r != r->main 及其衍生用法
陶辉
回答于2020-08-12 10:19
作为一个nginx初学者,我最近在上手编写一个类似字符串替换filter模块。其中在阅读其他filter模块的过程中,经常会看到 r != r->main 或 r == r->main 这样的代码,如下所示: if (r == r->main) { ngx_http_clear_content_length(r); if (!slcf->last_modified) { ngx_http_clear_last_modified(r); ngx_http_clear_etag(r); } else { ngx_http_weak_etag(r); } }一直无法明白类似这段代码的逻辑的目的所在,查阅了各种资料也没有找到答案,特在此向各位大佬请教!
2
回答
配置ip_hash报错
熊平
回答于2020-11-10 09:40
Nginx(版本1.19.3)配置tcp协议做负载均衡,运行正常,但是加上ip_hash后报错。------------------------------------------------“ip_hash” directive is not allow... stream { upstream dataexch { ip_hash; server 192.168.40.191:30011; server 192.168.40.191:30012; } server { listen 2001; proxy_pass dataexch; proxy_timeout 1s; proxy_responses 1; } }第一次在项目中配置Nginx,求教是什么原因。
1
回答
开启Nginx Proxy Cache性能不升反降
阿尔巴_672
回答于2021-01-19 14:07
开启Nginx Proxy Cache后,性能下降,而且过一段时间内存使用率到达92
3
回答
toa_remote_addr
陶辉
回答于2020-09-21 10:21
各位老师们好: 我想问下,我们在用lvs加toa模块,进行ipv6的收集,但是通过将toa_remote_addr这个变量放在nginx的log_format的配置文件里面,语法检测总是不通过,不知道我是不是忘记安装了什么东西,特来请教,感谢给予回答语法检测结果如下:bash-5.0$ nginx -t 2020/09/18 10:59:33 [emerg] 895#895: unknown "toa_remote_addr" variable nginx: [emerg] unknown "toa_remote_addr" variable nginx: configuration file /etc/nginx/nginx.conf test failed
<
1
2
3
4
5
6
7
>
>>
热门标签
Nginx
陶辉老师公开课
nginx系列
负载均衡
第三方模块
WAF
陶辉课程
缓存
NGINX PLUS
debug
热门文章推荐
Nginx面试题(总结最全面的面试题!!!)
什么是Nginx?Nginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多...
0 赞
1.6k 次浏览
《Nginx核心知识100讲》课件
PDF课件是放在github上的,地址是https://github.com/russelltao/geektime-nginx 因为github对国内网络不太稳定,有同学在微信群里请我发...
15 赞
2.0k 次浏览
NGINX开源社区基础培训系列课程(第二季)
感谢您参加NGINX开源社区基础培训系列课程(第二季),以下为本系列培训的课件和录像,希望您能通过此培训学有所得,祝学习进步! > 课程演讲稿下载: ...
8 赞
1.6k 次浏览
NGINX开源社区基础培训系列课程(第一季)线上研讨会合集
感谢您参加NGINX开源社区基础培训系列课程(第一季)线上研讨会,以下为培训的课件和录像,希望您能通过此培训学有所得,祝学习进步! > 课程演讲稿下载:&nbs...
3 赞
1.5k 次浏览
NGINX第三季资料下载
感谢您参加NGINX开源社区基础培训系列课程(第三季),以下为本系列培训的课件和录像,希望您能通过此培训学有成果,祝学习进步! > 课程演讲稿下载: ...
7 赞
1.4k 次浏览
10分钟快速认识Nginx
Nginx是当下最流行的Web服务器,通过官方以及第三方C模块,以及在Nginx上构建出的Openresty,或者在Openresty上构建出的Kong,你可以使用Nginx生态满足任何复杂Web场景...
14 赞
1.3k 次浏览
如何用NGINX实现UDP四层反向代理?
在实时性要求较高的特殊场景下,简单的UDP协议仍然是我们的主要手段。UDP协议没有重传机制,还适用于同时向多台主机广播,因此在诸如多人会议、实时竞技游戏、DNS查询等场景里很适用,视频、音频每一帧可以...
10 赞
1.3k 次浏览
史上最简单的 Nginx 教程,没有之一!
原文链接:https://juejin.im/post/5d81906c518825300 作者:哆啦A梦的猜想 链接:https://juejin.im/post/5d81906c518825300...
0 赞
44 次浏览
关于我们
NGINX社区介绍
合作伙伴
意见反馈
英雄帖
热门模板
大咖专栏
积分规则
问答
社区统计
条款
服务条款
隐私政策
联系我们
微信公众号
添加小N助手
手机 : 17310705956
微信 : 17310705956
友情链接
版权所有
©F5 Networks,Inc.
保留所有权利。
京ICP备16013763号-5