Articles of nginx

nginx在具有特殊字符的文件上返回404

我刚刚切换到nginx作为一个静态文件服务器,它适用于绝大多数的文件,但它是在特定字符的某些文件上抛出404。 这是Kevin Worthington在Windows Server 2008 R2上运行的64位nginx版本。 我的nginx.conf条目看起来像这样… server { server_name example.com; listen 80; location / static / {root / cygdrive / g / Files; 到期30天; } location / { proxy_pass http://127.0.0.1:8080; } } 错误日志中的条目如下所示… recvmsg()返回无效的辅助数据级别19或types8 2011/08/19 19:04:22 [error] 3756#0:* 1 open()“/cygdrive/g/Files/static/Pilón.jpg”failed 2:没有这样的文件或目录),客户端:12.168.24.203,服务器:example.com,请求:“GET /static/Pil%F3n.jpg HTTP / 1.1”,主机:“example.com” 如果我抓住错误中引用的path,将反斜杠交换反斜杠,并在那里折腾冒号,然后窗口将从运行菜单打开文件。 其他文件在同一个文件夹,但不包含特殊字符工作得很好。

nginx上传模块+ rails + pupload(jQuery多重上传插件)多个uplosding之间挂起

我已经configurationnginx的nginx上传模块+乘客在Ubuntu操作系统轨道2.3.5。 我使用的是multithreading(jQuery多重上传插件),但它挂起后2或3file upload,但是当我从nginx.conf中删除nginx上传模块,并重新启动nginx它工作正常。 这是我的nginx.conf文件 server { listen 8081; # server_name video.local; server_name 127.0.0.1; root /home/livia/Work/test/pulpload_rails2/public; # <— be sure to point to 'public'! passenger_enabled on; client_max_body_size 1000m; rails_env development; location /folders/do_multiple_upload { # pass request body to here upload_pass @fast_upload_endpoint; upload_store /home/livia/Work/test/pulpload_rails2/temp_files/; upload_set_form_field asset[][original_name] "$upload_file_name"; upload_set_form_field asset[][content_type] "$upload_content_type"; upload_set_form_field asset[][filepath] "$upload_tmp_path"; # Inform backend about […]

Web服务器redirect到端口80

我需要帮助解决这个问题。 我的Django应用程序使用mod_wsgi,apache和反向代理使用nginx。 nginx监听端口80,我们的应用程序在VPS里面。 MOD WSGI在127.0.0.1:8081。 nginx代理将请求传递给127.0.0.1:8081。 有一天,我们的pipe理员给我们IP 210.201.201.200:8050(这个IP是假的)。 我所面对的,在nginx中,它仍然听80端口,而不是8050,它可以用于第一次打开login页面(request.GET)并且可以浏览。 但是,当我点击提交,它总是redirect到210.201.201.200:80,所以总是发生错误404。 (210.201.201.200:80还有另外一个应用) 总之,我打开http://210.201.201.200:8050 ,点击提交,它redirect到http://210.201.201.200:80 ,错误404。 有人可以帮助我,解释什么错在这里? 我的pipe理员指责我的networking服务器,并说(django平台,nginx或其他任何lah)只能在80端口执行。 请给我反馈,我的问题有什么解决办法? 请帮帮我。 谢谢

Ruby通过FastCGI和NGiNX?

我有NGiNX设置,并希望能够运行我在Ruby中创build的网站。 然而,我的服务器是相当的失败,只有250MB的内存,可能更less,所以,而不是必须与瘦服务器运行每个Ruby站点,我想运行的Ruby网站,只有当他们被访问,就像PHP的方式与PHP- FPM服务器。 如何用NGiNX和Ruby去解决这个问题?

为什么nginx在没有configuration域的情况下返回200页?

我使用nginx,我遵循一个简单的教程来创build虚拟主机。 我的问题是,如果有人把他的DNS指向我的服务器,nginx似乎不关心server_name指令。 我有: listen 80; server_name www.domain.com; 我只有一个虚拟主机。 如果我将example.com的DNS设置到我的服务器上,nginx会回复一个200页! 这怎么可能? 我没有在我的服务器上configuration该虚拟主机。 我如何只允许我configuration到server { }的域? 我在Ubuntu Maverick上使用nginx 0.7.67版本 。

nginx不closures环回连接

我在反向代理模式下使用nginx。 这里是configuration文件的相关部分: server { listen 80; server_name ~^web.redhelper\.ru$ ; access_log off; location /http-bind { proxy_pass http://localhost:7070; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; } } 一段时间后,我开始打500错误。 我认为我正在达到一些最大的开放连接限制。 这里是munin图: 当我使用netstat时,我看到有: 1279 open connections to port 80; (including website itself that is on the same port) of them 745 are in ESTABLISHED state and 479 in TIME_WAIT 277 […]

很多带有nginx反向代理的TIME_WAIT连接

我使用nginx作为反向代理来将一些stream量redirect到openfire XMPP服务器。 以下是我在netstat中看到的内容: 972 connections to port 80 from outside (includes website and redirected XMPP over http) of them 231 in TIME_WAIT, seems like normal 272 connection from localhost:<misc port> to localhost:7070 (nginx to xmpp server), all ESTABLISHED 3154 connections from localhost:7070 to localhost:<misc port> (xmpp back to nginx) of them 2882 in TIME_WAIT (1301 […]

添加乘客模块到nginx没有来源

我有一个Ubuntu的10.04服务器,我已经从存储库安装nginx: apt-get install nginx 我有我所有的网站运行,我想安装redmine,但我有旅客的问题。 我已经安装乘客,但我可以将它添加到nginx,因为我没有源,所以我不能使用: passenger-install-nginx-module 这会打破我目前的nginx安装? 有没有办法安装乘客模块? 我可以在同一台机器上运行两个nginx服务器,不同的端口吗?我可以在另一个端口的nginx上安装redmine。 谢谢你们。

Nginx + Pfsense + IIS + NLB:上游超时(110:连接超时)

我们有一个绑定到一个IP的Nginx反向代理(RP),负载均衡/故障转移到两个IP,这些IP位于networking时间大约140ms的地方。 每个上游IP位于不同的ISP上,但绑定到PFsense盒子上的接口。 PFsense框使用NAT将传入的HTTP连接转换为内部Microsoft NLB IP,然后绑定到一些服务于实际请求的Web服务器。 我怀疑pfsense或iis与这件事有什么关系,但是我提到他们,以防万一你们有一些洞察力,这些洞察力可能是其中的一部分。 对于〜10 req / s的基线stream量,这个configuration工作正常。 但是,我们的使用案例处理的stream量高峰往往达到〜200瑞奇/秒。 发生这种情况时,所有地狱都会松动。 nginx错误日志开始填满以下的吨: 上游超时(110:连接超时)连接到上游 偶尔还有其中一些: 连接()失败(113:没有路由到主机),而连接到上游 不久之后,nginx收集了足够多的这些数据,以确定其中一个或两个上游是否“closures”,然后开始向客户端发送503或504错误消息,但是在放慢到完全无法使用的范围之前。 在此期间,盒子上的平均负载不超过0.15,并且CPU使用率接近5%。 反向代理和上游都有足够的可用带宽。 我已经查看了nginx错误提供的答案:上游超时(110:连接超时),但它们不反映我的情况。 如果将反向代理从等式中排除,并试图直接强调上游服务器,则上游服务器将完美处理所有请求。 这里是我的nginxconfiguration中的相关行: worker_processes 8; # I have 8 cores on this box, so this should be right events { worker_connections 768; } sendfile on; tcp_nopush on; # tried both settings, doesn't matter keepalive_timeout 65; tcp_nodelay […]

nginx卡住,并使用worker_processes> 1时设置CLOSE_WAIT

如果我有worker_processes = 1,一切正常,或者我一次运行一个请求。 如果我打开一个新的nginx安装浏览器,并保持F5几秒钟,套接字作为CLOSE_WAIT得到延续,nginx不会做任何事情(除了在CLOSE_WAIT填充更多的套接字..) 我使用的工人越多,它就越快卡住。 只是其中一名工人已经列出了任何sockets.. 任何想法可能导致这个?