Articles of nginx

上游如何在nginx(memcached_pa​​ss)中工作?

如果前一个主机不可用或不存在,nginx是否会转到上游块中的下一个主机? upstream cache_cluster { 127.0.0.1:9000; //something on this port 127.0.0.1:11211; //memcached instance on this port } location { //..some code here memcached_pass cache_cluster; error_page 404 502 504 = @something; }

如何configurationnginx来提供PDF文件?

我开始使用nginx的默认安装。 我对我的enabled-sites/default文件进行的唯一修改是: root /home/ubuntu/www …我有一个网站和一个/pdf文件夹,其中包含我的PDF文件。 如果我点击一个pdf文件的链接,它将被当作text / html,当然在浏览器窗口中看起来相当破碎。 如果我从http://www.jeremywalworth.com/index.php?q=taxonomy/term/49添加Jeremy的configuration部分,那么我得到404的相同的PDF文件链接。

NGINX – 在同一个域下的两个不同的rails应用程序

我有两个不同的Rails(乘客)应用程序,我要在一台服务器上托pipe: somehost.com/ <– App #1 somehost.com/admin <— App #2 尝试玩'地点'指令,但没有能够运作。 有人可以build议正确的做法吗? (我宁愿共享相同的环境,只从不同的目录启动) 编辑:示例(所需)configuration 试图做一些事情: server { listen 80; server_name myhost.com; rails_env production; passenger_enabled on; location / { root /opt/main_site/public/; } location /dev { root /opt/admin_site/public/; } }

Ruby on Rails进程陷入100%的CPU

环境:Ubuntu 10.04 LTS,Passenger,Nginx 1.0.6,MySQL,Ruby 1.9.2,Rails 3.1 经过一段时间之后,服务器的CPU数量将会逐渐增加,而CPU数量将会逐渐增加 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2393 avitus 20 0 496m 381m 1392 R 100 9.4 25:10.74 Rack: /home/web … 对任何卡住的PID运行strace给出以下内容: Process 2393 attached with 3 threads – interrupt to quit [pid 2396] futex(0x8ca80e4, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished …> [pid 2394] restart_syscall(<… […]

DoS攻击请求服务器上的单个文件,最好的办法来克服?

我的服务器目前正在被一个大的DoS攻击,不得不离开Apache并把所有东西都推送到Nginx上(重写是一场噩梦!)。 来自访问日志的示例: 186.92.86.149 – – [30/Nov/2011:09:49:40 -0500] "GET /boards/search.php HTTP/1.0" 404 169 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)" "-" 187.131.200.33 – – [30/Nov/2011:09:49:40 -0500] "POST /boards/search.php HTTP/1.0" 413 199 "http://rol.ru" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20030105 Phoenix/0.5" "-" 189.72.198.227 – – [30/Nov/2011:09:49:40 -0500] "GET /boards/search.php HTTP/1.0" 500 193 "-" "Mozilla/5.0 […]

405方法,即使发布到一个PHP文件

我一直在使用谷歌search,我能find的是,当你发布到HTML文件时,可能会发生这个错误。 在我的设置中,我有一个重写规则,它基本上隐藏了url中的index.php,我花了很长的时间认为它跟这个有关。 得到工作正常。 方法不允许 POST请求不允许用于URL / post.php 这是我的设置: Debian squeeze / AMD64 nginx version: nginx/1.1.8 PHP 5.3.3-7+squeeze3 with Suhosin-Patch (cli) (built: Jun 28 2011 08:24:40) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

铬审计说,它不caching静态内容,但标题设置 – 谁错了?

我正在用nginx + thin与静态内容caching托piperedmine 问题是:是或不是由浏览器caching? nginxcachingconfiguration: location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { # Some basic cache-control for static files to be sent to the browser expires max; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } 这里是响应标题: Request URL:http://redmine/javascripts/prototype.js?1251746896 Request Method:GET Status Code:304 Not Modified Request Headers Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-GB,en-US;q=0.8,en;q=0.6 Cache-Control:max-age=0 Connection:keep-alive Cookie: <hiden> Host:redmine If-Modified-Since:Mon, 31 […]

长轮询选项:Nginx,PHP,Node.js

也张贴在这里: https : //stackoverflow.com/questions/8839295/long-polling-options-nginx-php-node-js 我正在devise一个长轮询应用程序,可以很快地向很大数量的用户发送小的更改。 该应用程序将与运行相当标准的CMS网站串联运行。 他们都将在一台服务器上运行,并开始数据库。 我来自一个LAMP环境,我绝对是一个开发人员,而不是一个系统pipe理员。 这就是说,我不害怕尝试一些新的东西。 我花了一天时间研究我的select,我希望人们可以回答一些问题,并给我一些build议。 我已经缩小到这些: A. Apache and php for the website, Node.js for the app (running on a separate ip) B. Nginx and php for both the website and app C. Nginx and php for website, Nginx and Node.js for the app 所以问题: Nginx如何处理PHP的非multithreading;)。 PHP会certificateApache是​​否具有长时间轮询的瓶颈? 我听说它build议我使用nginx作为Apache和Node.js前面的反向代理,这是比nginx更好的解决scheme吗? 如果是这样,为什么? 你使用了哪个选项? […]

硬件RAID 10video服务

我只是订购了一台新的服务器,用于使用nginx(伪stream)为10MB到90MB的mp4video文件提供服务。 这台服务器有双opteron 6128,64GB的RAM。 我想问的是如何安装我的硬盘以最快的方式提供这些video文件。 我在硬件RAID 10中订购了8个1.5TB硬盘。根据我对RAID 10的了解,我只能看到1.5TB的空间,而我只看到了11.8TB。 服务器提供商做错了吗? fdisk -l Disk /dev/sda: 107.4 GB, 107374181888 bytes 255 heads, 63 sectors/track, 13054 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0000d3d9 Device Boot Start End […]

NGINX阻止直接访问目录,但允许重写

使用NGINX代理RIAK节点集群*。 我有一个重写规则 rewrite ^/bucket-([az]+)/object-([a-zA-Z0-9]+)/(.+)$ /riak/$1/$2 break; 和一个位置块 location /riak/ { proxy_pass http://riak_servers/riak/; } 哪个将redirect到RIAK服务器之一。 问题是,用户可以直接访问http:// server / riak /并直接获取RIAK集群和桶信息。 我只想通过重写的URL访问请求资源的用户。 我宁愿避免任何if s或多个location块来抓住一切。 我可能错过了一些明显的东西。 NGINX 1.0.11 *这通常是一个坏主意,因为任何有权访问NGINX服务器的人都可以在RIAK集群中put / post内容。 你应该防止所有的请求types,除了GET和HEAD ,也可能是一个好主意,删除RIAK放入的X-*标头。 我不认为暴露VClock值是一个安全问题,但最好是安全的。