Articles of nginx

NGinx vs Varnish作为Apache前面的反向代理w / php

我正在使用mod_php Apache服务内容。 大多数内容是通过networking从内存caching中获取的。 我所有的图像,CSS和JS已经在CDN上 把nginx和/或清漆放在前面有什么优点和缺点? 奖金:如何处理需要显示自定义页面(如果有人login)的用户帐户(也许这是另一个问题)

将使用HAProxy负载平衡提供故障转移效果

我目前有一个运行在PHP-FPM和APC的Nginx平台上的站点。 我一直在尝试的testingperformance非常好。 我现在想添加故障转移function,不能负担硬件负载均衡器,所以看着使用HAProxy。 这更多的是一个理论问题,但是两个Nginx服务器将能够提供比HAProxy更多的页面,并且意味着HAProxy将成为潜在的瓶颈。

Apache和Nginx – 将.htaccess请求转发给Apache?

一个非常简单的,但它完全暗指我。 我已经设置了nginx作为Apache的代理,目前只设置允许某些文件通过Apache的请求,configuration行在下面。 我遇到的问题,我需要通过也发送.htaccess,我已经尝试过的每一个变化都失败了! 也许有人已经做到了这一点,这是一个非常标准的设置。 location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {root /var/www;} 我会硬编码到nginx.conf但是有很多重写。 让Apache更容易处理它们。 提前致谢!

FPM活动进程不断增长

最近,我不得不面对php-fpm问题,不断增加可用的活动进程。 它正在达到max_children,然后重新启动。 该图显示了来自三台服务器的池状态(循环余额)中的“活动进程”值。 configuration: pm.max_children = 100 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 2000 在凌晨1点,我将configuration更改为: pm.max_children = 500 pm.max_requests = 500 这个池服务约4k的需求/分钟(所有的服务器)。 我必须承认其他游泳池正常工作,相同的设置(最大的池服务〜12k的需求/分钟)。 什么可能是这样的行为的理由?

nginx如何处理大文件

我们在加载一个大约300KB大小的pdf文件时遇到了问题。 pdf由nginx提供。 每当我加载文件,它显示一个错误,说Failed to open pdf document ,但坠毁文件的大小只有32KB。 我已经仔细检查了两端的大小。 当我检查clicked_site(client_max_body_size) ,我已经将以下configuration添加到nginx.conf: http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 200M; client_body_buffer_size 50M; client_header_buffer_size 300K; large_client_header_buffers 2 1k; proxy_buffer_size 40k; proxy_buffers 4 32k; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; …….. …….. } 网站启用/默认: […]

Nginx更新在/etc/init.d/nginx中重写我自己的启动脚本。 有没有办法避免这种情况?

我有nginx加快cgi。 我用快速cgi开始脚本启动nginx。 但是在nginx更新之后,系统会把这个脚本重写为默认只启动nginx。 有什么办法可以避免这种重写?

nginx不解释一些PHP文件

我试图将一台服务器上的php / mysql / apache网站移植到另一台服务器上。 另一台服务器是亚马逊EC2上的一个原始的Linux机器。 我不是一个先进的Linuxpipe理员。 我有一些基本的知识强硬。 所以我安装了nginx并将doc根设置为/ home / webroot /。 我设置php cgi服务器,并在端口9000上启动它。安装mysql并导入转储。 创build一个名为webroot的FTP用户,具有/ home / webroot /的权限,并将其添加到vsftpd以将所有file upload到/ home / webroot /。 完善。 我访问subdomain.site.com并解决,但它返回一个空白页面。 这不是解释index.php和其他上传的PHP文件。 如何解释我创build的一些新文件。 它是显示空白页面或DUMPS整个PHP代码浏览器。 我创build了一个示例test.php并填充一些代码来读取请求variables并打印它。 我从subdomain.site.com/test.php?id=2访问它,它解释它。 它也连接到数据库,如果我从命令行调用它。 为什么它与某些文件一起工作而不与其他一些文件? 这是一个PHP错误或nginx错误。 有任何想法吗。 这里是nginx.conf – server { listen 80; server_name sub.domain.com; #charset koi8-r; #access_log logs/host.access.log main; location / { root /home/webroot; index […]

使用wordpress作为drupal安装的子目录?

我使用NginX 0.7.65运行Ubuntu 10.04。 我有Drupal安装在根目录下,它适用于一个适当configuration的虚拟主机文件,但现在我想要安装Wordpress在同一个域的子目录。 当我去example.com/wordpress时,它会导致404错误,并由Drupal处理。 这是我的虚拟主机文件: server { server_name www.example.com example.com; access_log /srv/www/example.com/logs/access.log; error_log /srv/www/example.com/logs/error.log; root /srv/www/example.com/public_html; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # This matters if you use drush location = /backup { deny all; } # Very rarely should […]

Ngnix – 我怎样才能发送一个特定的上游503?

我正在使用ngnix根据cookie值将stream量路由到正确的应用程序服务器。 所以一个用户总是登陆一个特定的上游服务器。 现在我有多个这样的uptsream服务器。 当我为了维护目的而将其取下时,我想向上游服务器发送503。 什么是最简单的方法呢? 如果应用程序服务器崩溃,我们应该得到正常的“无法连接到后端”错误。 所以,只有当我故意把它放下时,我才应该得到上游的503。

Nginx中的热链接保护在Firefox中运行良好

我在Nginx中使用热链接保护,它工作得很好! 由于某些原因,它不允许访问者使用Firefox浏览我的网站以查看任何图片。 对于使用IE浏览器,Chrome浏览器,Safari浏览器和Opera的访问者来说,它的工作原理很好:图片显示在我的网站上,但是如果您尝试进行热链接,则不会显示。 我在Win和Mac上检查了Firefox,发生在两个地方。 据我所知,由Firefox发送的标题与IE和其他浏览器具有相同的引用。 热链接保护代码看起来像这样 location ~ \.(jpg|jpeg|png|gif|swf)$ { valid_referers server_names blocked *.mysite.com; if ($invalid_referer) { rewrite ^(.*)$ /nopeeking.png break; } } location =/visitpg.png { root /path/to/my/site; } 任何想法为什么这可以在所有其他浏览器,但不在Firefox?