Questions tagged «nginx»

Nginx(“ eNgine x”)是一种轻量级的高性能HTTP服务器,反向代理,TCP流代理和邮件代理,在类似BSD的许可证下发布。

5
nginx关闭某些图片上的连接
有问题nginx。在客户端完成下载之前,它将关闭连接。看起来像: $ wget -O /dev/null http://www.site.com/images/theme/front/clean.jpg --2012-07-11 21:37:03-- http://www.site.com/images/theme/front/clean.jpg Resolving www.site.com (www.site.com)... 123.234.123.234 Connecting to www.site.com (www.site.com)|123.234.123.234|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 90707 (89K) [image/jpeg] Saving to: `/dev/null' 26% [===============> ] 24,291 --.-K/s in 8.7s 2012-07-11 21:37:12 (2.74 KB/s) - Connection closed at byte 24291. Retrying. …

1
在php-fpm confs而不是php.ini中设置php值
我想在php-fpm conf文件中设置值,通常在php.ini中设置。我正在使用nginx。 我创建了以下设置,但是不确定是否可以使用。 php_value[memory_limit] = 96M php_value[max_execution_time] = 120 php_value[max_input_time] = 300 php_value[php_post_max_size] = 25M php_value[upload_max_filesize] = 25M 你觉得这样还可以吗? 当同时在php.ini和php-fpm conf文件中设置一个值时,会发生什么?php-fpm覆盖了ini一个? 最后,以这种方式可以为所有虚拟主机设置不同的值不是问题吗?我的意思是php.ini似乎是一个全局设置,而这取决于主机。不同的主机可以以不同的内存限制运行吗?

2
上传大于1MB的文件=连接重置
我在前端使用nginx作为“代理缓存”,在后端使用apache,我将PHP设置设置为以下内容: error_log = /var/www/site1/php_error.log error_reporting = 22527 file_uploads = On log_errors = On max_execution_time = 0 max_file_uploads = 20 max_input_time = -1 memory_limit = 512M post_max_size = 0 upload_max_filesize = 1000M 有什么问题?小于1MB的文件上传成功,但大于等于1MB的上传成功,Google Chrome输出: Error 101 (net::ERR_CONNECTION_RESET): The connection was reset. 我已经检查了错误日志文件,但该目录中不存在该文件。我也检查了/var/log/httpd/error_log但没有上传相关的问题。我不知道其他任何可能导致问题的原因,所以我已经伸出援助之手。谢谢!
8 apache-2.2  php  nginx 

2
NGINX在位置块内重写语法
也许是一个愚蠢的问题,但是我似乎找不到很好的文档或示例... 当您使用位置块来过滤传入的请求时,您是从匹配的位置还是从请求的开始进行重写? 一个例子: location ^~ /category/ { rewrite ^/category/paid-search-news/?$ /tag/paid-search permanent; # this, rewrite ^paid-search-news/?$ /tag/paid-search permanent; # this, rewrite paid-search-news/?$ /tag/paid-search permanent; # or this? }
8 nginx  rewrite 

3
php5-fpm如果访问者过多,则会崩溃
我决定将我的OP从Litespeed更改为Nginx,因为我了解了很多有关Nginx会花费的低资源的信息。 我正在运行一个有500个用户在线的Wordpress网站 好的,谢谢你们的帮助:)我编辑了一些内容。 我还有一些问题: 我必须删除吗?下午之前。设置?我删除了它什么配置很重要?我在/ etc / php5 / fpm中有两个快速cgi,一个叫做php-fpm.conf,在/etc/php5/fpm/pool.d中有一个快速的cgi,叫做www.conf? 我一整夜都在尝试新的配置,当我醒来时,我已经有了空白页。最佳: top - 13:55:27 up 1 day, 19:28, 2 users, load average: 0.18, 0.36, 0.19 Tasks: 84 total, 1 running, 83 sleeping, 0 stopped, 0 zombie Cpu(s): 0.2%us, 0.0%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 3974264k total, 1051360k used, …
8 php  nginx  php-fpm 

5
Nginx / FPM / PHP所有的php文件都说“找不到文件”。
我刚刚在centos 5.8最终64位计算机上安装了nginx 1.1.13和php 5.4.0。Nginx和PHP / Fpm正在运行,我可以通过ssh命令行运行php脚本,但是在浏览器中,我一直在显示“找不到文件”。我所有PHP文件上的错误。 这就是我让nginx.conf处理PHP脚本的方式: location ~ \.php$ { root /opt/nginx/html; fastcgi_pass unix:/tmp/fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name; include fastcgi_params; } 这是我其他服务器的直接复制/粘贴,在此设置下可以正常工作(但它们运行的​​是php / fpm的旧版本)。 为什么会出现这些错误?
8 php  nginx  php-fpm 

5
哪些反向代理支持HTTP / 1.1 ETag和If-None-Match标头?
我正在为电子商务平台开发一个缓存系统,该系统将使用反向代理进行缓存。我计划通过使用正确的HTTP / 1.1标头来处理无效。也就是说,我将在第一代内容上设置一个ETag,并将该ETag值缓存在应用程序中。Cache-Control标头将指定“必须重新验证”,因此代理应在随后的带有ETag的请求上设置If-None-Match标头。应用程序将查找缓存的ETag值,如果匹配则将发送304响应,否则将生成完整的200响应。 我希望使用nginx,但我不能确定它是否支持ETags(文档表明它不支持ETags,但也许它们已经过时了?)。清漆是另一种选择,但我在这里也不满意。 哪些反向代理服务器完全支持ETag?我希望它实际上可以缓存多个版本,因此我可以执行拆分测试之类的事情而不必禁用缓存。也就是说,HTTP / 1.1指定客户端可以发送具有多个ETag值的If-None-Match,并且服务器应以匹配的ETag响应(如果有)。如果反向代理保留多个副本而不只是最后看到的值,并让服务器在每个要使用的请求上指定,那将是理想的。

3
Nginx是否适合提供PDF?
这是一个虚拟的问题。我必须公开访问PDF,例如每个文件8 MB。在我看来,nginx可以提供任何类型的文件,只要它们是静态的即可。但是有人告诉我,nginx不适合这样做。 您能提供一些文件证明我/他做错了吗?
8 nginx  pdf 

2
使用Gunicorn + Nginx的长期运行请求
我为Django驱动的应用程序集成了一个集成服务器。其中一些功能仍处于试验阶段,导致请求时间过长。 我暂时可以接受糟糕的表现,但是我需要能够集成。每当我们使用导致较长请求的功能时,该应用都会挂起(按预期方式),然后可能在一分半钟后返回“ 502-错误的网关”。该应用程序的其余部分工作正常。 我检查了古尼康日志,每当发生这种情况时,我都会收到一条类似 2012-01-20 17:30:13 [23128] [DEBUG] GET /results/ 2012-01-20 17:30:43 [23125] [ERROR] WORKER TIMEOUT (pid:23128) Traceback (most recent call last): File "/home/demo/python_envs/frontend/lib/python2.6/site-packages/gunicorn/app/base.py", line 111, in run os.setpgrp() OSError: [Errno 1] Operation not permitted 但是,这是在实际的工人超时之前发生的,我已经确定为10分钟。这是运行gunicorn的暴发户脚本的一部分。 description "..." start on runlevel [2345] stop on runlevel [!2345] #Send KILL after 5 …

2
Nginx配置有编程接口吗?
我将nginx用作Web服务器实例前面的负载平衡器。我运行Web服务器的4个实例,并使用nginx在它们之间平均分配流量。部署新版本时-更改nginx.conf并将4台服务器中的前2台标记为关闭,然后重新启动nginx。我更新服务器代码并重新启动前2台服务器。然后,我编辑nginx.conf以指示前2台服务器已启动,并将其他2台服务器标记为关闭,再次重新启动nginx。然后,我更新并重新启动其他两个实例。再次更新nginx.conf,将所有服务器标记为已启动,并最终重新启动nginx。 在某些日子里,我必须多次执行此过程。每次手动执行上述步骤都容易出错。 是否可以通过编程方式访问nginx / nginx.conf,以便使该过程自动化? [我现在想象的唯一方法是在shell脚本中编写以上步骤]
8 nginx 

2
使用Nginx重写传出响应中的URL
我们有一个客户,其网站在Apache上运行。最近,该站点的负载不断增加,并且我们希望将站点上的所有静态内容转移到无cookie域,这是一个停顿点http://static.thedomain.com。 该应用程序不是很好理解。因此,为了给开发人员时间修改代码以将其链接指向静态内容服务器(http://static.thedomain.com),我考虑过通过nginx代理站点并重写传出的响应,以便将链接/images/...重写为http://static.thedomain.com/images/...。 因此,例如,在Apache对nginx的响应中,出现了标题+ HTML的斑点。在从Apache返回的HTML中,我们有如下<img>标签: <img src="/images/someimage.png" /> 我想将其转换为: <img src="http://static.thedomain.com/images/someimage.png" /> 这样浏览器在接收到HTML页面后便直接从静态内容服务器请求图像。 nginx(或HAProxy)可以做到吗? 我粗略浏览了一下文档,但是除了重写入站URL之外,没有其他事情对我有所帮助。

3
我的php-fpm配置有什么问题?
我有一个64位服务器,但只有256MB的RAM。因此,我移至带有fast-cgi的Nginx服务器以连接到PHP。我正在运行PHP 5.3.6。 问题是,每隔两三天,当我尝试访问任何PHP页面时,我就会收到服务器内部错误。唯一的解决方法是手动重新启动php-fpm。这意味着我应该设置一些错误的参数,导致其阻塞。下面我列出了相关的配置。 /etc/php-fpm.conf:- include=/etc/php-fpm.d/*.conf log_level = error ;emergency_restart_threshold = 0 ;emergency_restart_interval = 0 ;process_control_timeout = 0 /etc/php-fpm.d/www.conf:- [www] pm = dynamic pm.max_children = 10 pm.start_servers = 3 pm.min_spare_servers = 2 pm.max_spare_servers = 5 pm.max_requests = 500 /etc/nginx/php.conf:- location ~ \.php { fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE …

3
如何更改nginx上的Last-Modified标头?
我的服务器返回以下标头: Cache-Control:no-cache Connection:keep-alive Date:Thu, 07 Jul 2011 10:41:57 GMT Expires:Thu, 01 Jan 1970 00:00:01 GMT Last-Modified:Thu, 07 Jul 2011 08:06:32 GMT Server:nginx/0.8.46` 我希望不缓存我所服务的内容,因此我正在寻找一种方法来返回包含请求发起日期的日期时间的Last-Modified标头。类似于now()...

6
如何防止Apache跌落?
我有两台服务器托管着一个流量适中的Magento电子商务网站(每天从Google Analytics(分析)报告的浏览量为60k,我认为服务器本身报告的浏览量为80k)。除了罕见的偶发嘶哑之外,数据库服务器还可以平稳,快速地运行,但是apache服务器经常崩溃。 我已经设置了magento以使用推荐的PHP缓存(APC),以及将其自己的缓存文件保存在1.5 gig tmpfs中(此tmpfs通常会变得很满,当tmpfs为超过80%的容量)。我为Amazon Cloudfront提供大多数图像。我最近将nginx设置为apache的反向代理(nginx也提供静态文件)。我已尽力配置apache-keepalive和hostnamelookups已关闭,并且prefork的配置如下: <IfModule prefork.c> StartServers 50 MinSpareServers 50 MaxSpareServers 100 ServerLimit 512 MaxClients 256 MaxRequestsPerChild 400 </IfModule> 我尚未关闭.htaccess文件,并且访问日志记录已打开。我知道有些模块可以关闭。我不确定这三个更改中的任何一个将产生什么影响(如果有)。 apache服务器是具有6 gig RAM的VPS。截至撰写本文时,服务器正在报告load average: 17.77, 18.27, 49.76,但大约有2 GB的可用RAM。如果情况真的很糟,负载将达到120+并保持在该水平-重新启动apache会使站点恢复正常,负载也会下降。 vmstat是(当服务器报告上述负载时),我认为这表明CPU空闲值在0到70左右之间波动。iostat显示的iowait值介于0到0.2%之间。 我有点卡住了。我所知道的很少是告诉我的问题是,由于正在运行的代码和用户数量的结合,导致CPU过载。但是我经验不足,无法确定这就是问题所在。如果这是问题所在,我认为解决方案将是改进代码或使用负载均衡器将站点托管在两个VPS上。 所以,我想我的问题是: 我还能做些什么来发现服务器上的问题或瓶颈? 我可以对服务器配置进行任何明显的更改以改善这一点吗? 设置自动化系统以在负载超过一定水平时重新启动apache是​​一个好主意吗? 从上面可以看出,该站点超出服务器的可能性有多大? 编辑: 我发现有些奇怪的东西-/ var / spool / mail / root很大... 38演出。听起来不健康。这可能是问题吗?

1
使用Nginx根据IP地址/子网来服务不同的页面
由于令人毛骨悚然,我正在使用Nginx作为Web服务器,并希望它为内部用户(例如10.0.0.0/16)提供一个页面,为任何其他IP地址上的外部用户提供另一个页面。 例如: IP为10.0.0.34的“内部” PC转到company.com/page.html获取页面internal.html IP为8.8.8.8的“外部” PC进入company.com/page.html获取页面external.html
8 nginx 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.