问题标签 [nginx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1288 浏览

php - 如何仅为某些 URL 设置 nginx + php-fpm + wordpress?

我试图让 nginx + php-fpm +wordpress 从我的网站上提供一些页面,同时充当其他页面的代理。

IE:

host/foo -> 代理到另一个 www 服务器

主机/酒吧-> wordpress(通过 fpm)

代理部分工作正常,但 nginx -> wordpress 部分只是不断重定向到根页面。

当我 strace php-fpm 进程时,我看到点击进入,wordpress 实际上会思考并加载所有内容,但在最后一秒它只是重定向回根页面。

在 google 上找不到任何关于如何在 php 端查看传入的 fastcgi 参数的信息。猜测从 nginx 发送的标头有问题,但我不知道如何查看所有发送的内容。(strace 在这里不是很有帮助,因为它只给出前几个字节)

如果我通过 telnet 尝试并输入:

获取/HTTP/1.0<CR><CR>

我得到了您期望的正确内容(即:不重定向)。但从浏览器它被重定向。

0 投票
1 回答
1665 浏览

apache - 代理传递给多个上游

apache 或 nginx(最好)中是否有允许将传入流同时复制到多个上游的指令?

我需要这个的原因:我想将实时视频内容从一个客户端流式传输到多个 Flash RMTP 服务器,这些服务器将使该内容可供多个客户端使用。
此设置在一台流媒体服务器上运行,但我想添加更多。

任何帮助是极大的赞赏。

0 投票
2 回答
10681 浏览

nginx - nginx中worker_connections、keepalive_timeout和$connection是什么关系

nginx 文档说

但是keepalive因素如何影响呢?我的配置设置有 2 个 worker_processes 和 8192 个 worker_connections;这意味着我理论上最多可以处理 16384 个并发连接。同时推出 16384 个数据流是巨大的,但如果我有一个 60 秒的 keepalive_timeout,那么每个客户端占用一个连接 1 分钟,这个数字具有完全不同的含义。它是哪一个?

连接到这一切的是可以与 log_format 指令一起使用的 $connection 变量。我定义了以下日志格式,以便分析服务器的性能:

该 $connection 变量报告了大约 11-12 百万个连接!我不是数学专业的,但显然这个数字远高于 worker_processes * worker_connections。那么它应该代表什么?

简而言之,我试图弄清楚如何确定worker_connection 的良好价值。

0 投票
2 回答
3382 浏览

ruby-on-rails - 如何从 nginx 卸载乘客(mod_rails)?

我有一个正在运行的 nginx 和 Ubuntu 8.09 站点,运行一个 rails 应用程序——但我们不再使用 Peassenger,它似乎占用了大量内存。

我用谷歌搜索,有很多关于如何安装Passenger的信息,但我没有找到任何关于卸载的信息。

0 投票
1 回答
533 浏览

ruby-on-rails - 发送设置了 Content-Type 标头的 GET 请求时,Rails 应用程序崩溃并烧毁

我创建了一个具有简单 RESTful json API 的 rails 应用程序。这已经工作了一段时间,但现在我们遇到了一个问题。发出请求的 javascript 框架为所有请求添加了“Content-Type”标头。. . 包括 GET 请求。它将标头设置为“application/json”并导致 rails 应用程序崩溃并出现以下错误:

我很久以前就发现为 POST 请求设置此标头是必要的,但这似乎真的搞砸了 GET 请求。我可以使用“HTTP Client”之类的应用程序轻松复制此错误 - 没有标头,成功的 GET,是的标头,崩溃和烧毁!

有没有人知道什么可能会这样做/导致这个以及我如何在我的 rails 应用程序中接受 GET 请求的这个标头?

提前谢谢!

(另外,我的设置:nginx/0.8.5 Phusion Passenger 2.2.4 ruby​​ 1.9.1p129(2009-05-12 修订版 23412)[i386-darwin10.0.0b4] rails 2.3.2)

0 投票
2 回答
2457 浏览

mod-rewrite - nginx重写规则

你好,

鉴于以下 apache/mod_rewrite 规则取自服务器上 minify 目录中的 .htaccess :

它的 nginx 兼容等价物是什么?我试过了:

但这似乎不起作用。有什么想法吗?

0 投票
2 回答
2094 浏览

apache - 带有 mod_wsgi 的 nginx + apache2 的简单重写规则

我被这个困住了,我在网络服务器领域的技能很差......

我有一个 Nginx 作为运行 mod_wsgi 和 mod_rewrite 的 Apache2 的代理。我想要做的是将每个 URL 从 www.example.com 重写为 example.com,即在服务之前从每个 URL 请求中剥离 www 部分。这是不同 conf 文件的布局:

=== /etc/nginx/sites-enabled/example.com ===:

http://dpaste.com/82638/

=== /etc/apache2/sites-enabled/example.com ===:

http://dpaste.com/hold/82645/

=== /home/nabuco/public_html/example.com/example/apache/example.wsgi ===:

http://dpaste.com/82643/

在我的旧设置中,我有一个运行 mod_python 的 Apache2,我唯一要做的就是放置一个 .htaccess 文件,如下所示:

那工作得很好。

但我尝试将相同的 .htaccess 文件放入 /home/nabuco/public_html/nomadblue.com/nomadblue/apache/.htaccess。如果我在不带 www 的情况下发出请求,例如http://example.com/http://example.com/whatever,则一切顺利。但是,如果我尝试http://www.example.com/的 www 版本,我将被重定向到:

http://example.com/example.wsgi/

我是否必须从 nginx 运行重写规则?我也尝试过,将其添加到 nginx conf 文件中:

但现在我得到了firefox所说的“循环循环”......

那么我能把这个(我猜是微不足道的)事情搞定吗?

提前致谢,

赫克托

0 投票
1 回答
5025 浏览

nginx - Nginx 从池中删除上游服务器

我们的设置是标准 nginx (ver 0.7.59) + Debian lenny 上的瘦上游服务器。现在我们有 1 个用于 web/app 的强大盒子和 1 个 db 盒子。最近我们开始注意到 Thin 最终会开始“挂起”,即它们将不再接收来自 nginx 的请求。我们有 15 个薄运行,10-15 分钟后,前 1 或 2 个将被挂起。如果离开一整天,那些相同的几件再加上几件将保持悬挂状态。到目前为止,我们看到的唯一修复是重新启动 nginx。重新启动后,挂起的瘦子立即再次开始接收请求。正因为如此,看起来那些薄薄的东西可能已经从上游池中取出了。

如果我正确理解文档(http://wiki.nginx.org/NginxHttpUpstreamModule#server),使用默认值(我们有),如果 nginx 不能在 10 秒内与后端服务器“通信”3 次,它会将上游服务器设置为“不工作”状态。然后它将等待 10 秒,然后再次尝试该服务器。这是有道理的,但我们正在无限期地看到薄弱的悬垂。我尝试将每个薄的 max_fails 设置为 0,但这没有帮助。我不知道是什么导致上游服务器永久“不工作”。

我们最近看到了大幅的增长率增长,所以我们不确定它是否与此有关,或者只是因为在更短的时间内更多的流量而更加明显。

nginx 中是否还有其他东西(可变指令或其他条件)会导致它完全从池中取出服务器?

0 投票
1 回答
71 浏览

ruby-on-rails - 如何确定 mongrel_cluster 中的每个进程都在处理请求?

我有一个 Rails 应用程序需要一段时间来处理某些请求(因为它处理图像上传)。我目前在一个集群中有三个 mongrel 进程,如果第一个请求很忙,我希望另外两个进程中的一个处理第二个请求。

然而,这似乎并没有发生。如果我观察top服务器上的输出,我可以知道它何时调整图像大小,所以如果我尝试用一​​个简单的请求(通常会很快完成)点击应用程序,它似乎要等到长时间运行的请求在完成。

当我查看 log/mongrel.xxxx.log 文件时,我看到的只是应用程序启动的输出。

如何验证哪个进程实际处理每个请求?

我可以让他们杂种来记录每个请求(即使它只是一个时间戳,比如“GET /path/to/resource”)?

任何想法为什么集群可能不会首先共享负载?

前端 Web 服务器是 nginx,所以也许这就是我应该寻找的地方?nginx access_log 似乎没有任何关于请求被代理到的位置。

0 投票
1 回答
3642 浏览

mod-rewrite - 为 Mediawiki 重写 Nginx 干净的 url

在发布此之前,我已尽力研究和尝试我找到的解决方案,希望它也能对其他人有所帮助。

我正在尝试将 Mediawiki 中的 URL 写入 domain.com/PageTitle(我知道这是不好的做法)。我已经完成了 99% 的工作:

http://snipt.org/msh(关闭了 drupal 的教程,因此对我而言可能完全错误)

但是当我在页面标题的末尾添加“&action=purge”时不起作用。它试图向我显示一个名为“PageTitle&action=purge”的页面。

我不确定我是如何在 Apache 中解决这个问题的。

任何帮助是极大的赞赏。