Articles of nginx

Nginx作为反向代理:我如何指示nginxcaching一个特定页面的持续时间?

如何指示nginxcaching特定页面一段固定的时间? 假设我在quintin.com/index.php有一个主页。 现在我想让nginxcaching这个5分钟,然后点击apache来采取新的。 我该怎么做呢?

不常用的字符不在Nginx中加载Drupal Boost静态caching

(安装程序:Drupal 6.20,Boost 1.18,Nginx 0.7.67) 当增强节点的URL包含字符→或中国新闻网新闻中心 ,节点正确caching在caching目录中,正确反映URL。 但是在访问节点时,取而代之的是未加载的节点。 以下是我使用的Nginx规则: server { server_name *.com *.net *.org; location / { root /var/www/html/$host; index index.php; set $boost ""; set $boost_query "_"; if ( $request_method = GET ) { set $boost G; } if ($http_cookie !~ "DRUPAL_UID") { set $boost "${boost}D"; } if ($query_string = "") { set $boost "${boost}Q"; […]

nginx代理保持与(redirect?)url的混乱

不pipe我做什么,Nginx不断打破我的url。 我相信这只有当响应包含redirect时才会发生。 我相信我已经尝试过维基的所有build议和谷歌的前20个左右的页面的组合,现在无济于事。 我的configuration看起来像这样: upstream tomcat { server 10.0.0.1:8080; } upstream opsview { server 127.0.0.1:3000; } server { listen 80; server_name example.com; location / { proxy_pass http://tomcat/; proxy_redirect http://tomcat/ /; server_name_in_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 我努力了: 两个上游(和他们的行为不同) 直接传递并redirect到ip:port而不是上游 有和没有尾随斜杠 proxy_redirectclosures 有和没有closuresserver_name_in_redirect 有和没有标题指令 不断出现的错误情况: 如果代理到外部主机,我很容易发现我的浏览器字面上redirect到http:// tomcat / 。 […]

nginx错误日志解释

我使用php作为fastcgi运行nginx。 有时我的网站停止运行,需要重新启动nginx才能重新运行。 我在我的错误日志中find以下内容(由于隐私原因,实际IP已被replace)。 任何人都可以透露一些实际发生的事情吗? 谢谢 2011/05/02 06:41:10 [alert] 1686#0: worker process 1690 exited on signal 9 2011/05/02 06:41:20 [emerg] 25259#0: bind() to 0.0.0.0:80 failed (98: Address already in use) 2011/05/02 06:41:20 [emerg] 25259#0: bind() to 0.0.0.0:80 failed (98: Address already in use) 2011/05/29 14:01:08 [alert] 25260#0: worker process 25264 exited on signal 9 2011/05/29 14:01:13 […]

在Amazon EC2 micro-perl和python问题上构buildnginx 1.0.4

我想在我的EC2微型实例上运行nginx作为apache2的反向代理。 yum install nginx给了我nginx-0.8.53-1.2.amzn1.x86_64.rpm目前的nginx是1.0.4 我发现并遵循了这个指南: http : //kdn2.info/2011/05/install-nginx-on-amazon-ec2/它工作正常,并包括“make”。 当我去checkinstall –fstrans =没有我得到 ERROR: ld.so: object '/usr/lib/installwatch.so' from LD_PRELOAD cannot be preloaded: ignored. test -d '/var/log/nginx' || mkdir -p '/var/log/nginx' ERROR: ld.so: object '/usr/lib/installwatch.so' from LD_PRELOAD cannot be preloaded: ignored. make[1]: Leaving directory `/root/src/nginx-1.0.4' ======================== Installation successful ========================== Copying documentation directory… ./ ./CHANGES ./LICENSE ./README cp: cannot […]

Nginx的位置问题

我试图为/ misc-stuff /目录中的(仅限图片)设置一个更长的(30天)“expires”标题。 这是我用于我的网站: # Serve static files directly from nginx location ~* \.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|exe|html|htm|txt|css|js) { add_header Cache-Control public; add_header Cache-Control must-revalidate; expires 7d; } 我希望能够保持这个代码来处理常规的站点图像,但创build一个新的块来处理/ misc-stuff /目录。 我努力了 : location ^~ /misc-stuff/ { … } 我现在遇到的问题是,如果有人试图访问它,那么在该目录中的备份.php文件将显示为纯文本。 我怎样才能在/ misc-stuff /目录下设置.gif图像?

乘客正在阻止Bundler看到我的Gitgem

我试图将Rails 3.1应用程序部署到运行nginx-1.0.0和passenger-3.0.7的Ubuntu 11.04服务器上 我有一个系统级的RVM安装在/usr/local/rvm/gems/ruby-1.9.2-p180 我的nginx.conf如下所示: http { passenger_root /usr/local/rvm/gems/ruby-1.9.2-p180/gems/passenger-3.0.7; passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p180/ruby; # … server { listen 80; server_name my-domain.com; root /srv/www/my_project/current/public; passenger_enabled on; rails_env production; } } 问题是我的Gemfile中有两个指向git repos的gem。 Bundler说他们已经安装了,它们出现在RVM的gem目录下,但是Passenger会抛出一个错误: [email protected]:my-gem (at master) is not checked out. Please run `bundle install` (Bundler::GitError) 从部署目录运行rails console工作正常。 我错过了什么?

rails,nginx和乘客在一些path上使用SSL

我运行一个标准的Rails 2.3.11安装,与乘客和nginx。 我已经正确安装了SSL证书,并确认它们可以正常工作。 不过,我只需要在example.com/admin和example.com/bookings两条path上使用SSL。 我不知道如何在nginx.conf文件中完成此操作。 其余的网站,包括所有的资产应该超过正常的http。 有没有人有任何提示如何实现这一目标?

NGINX + PHP5-FPM在高负载下发生故障

我一整天都在处理这个问题,这让我疯狂。 所有Googlesearch结果和search都会导致死胡同。 我希望有人能和我一起为自己和未来的受害者提供解决scheme。 开始了。 我正在运行一个非常受欢迎的网站,每天有超过3M的页面浏览量。 平均而言,每秒钟的页面浏览量为34页,但在高峰时段更为实际,每秒页面浏览量超过300页。 把这些当成是要求。 我正在运行带有2个E5620 CPU,12GB RAM和一个Micron P300 6Gb / s SSD的Ubuntu 10.04 64位服务器。 在高峰时段,CPU和内存负载是平均的(20-30%的CPU和一半的内存使用)。 这个站点的软件是:NGINX,MySQL,PHP5-FPM,PHP-APC和Memcached。 好吧,现在最后的文章的肉,这里是我的错误日志。 有一堆这些错误logging。 在/ var /日志/ PHP5-FPM Jul 20 14:49:47.289895 [NOTICE] fpm is running, pid 29373 Jul 20 14:49:47.337092 [NOTICE] ready to handle connections Jul 20 14:51:23.957504 [ERROR] [pool www] unable to retrieve process activity of one […]

在虚拟机上运行nginx是否有缺点?

我计划使用nginx来承载我的一些最小的php的静态内容。 我将有2个服务器的nginx,但可能是太多的硬件,我所需要的。 我正在考虑将它们分成总共4个nginx虚拟机(每个盒子2个)。 这将允许我更灵活地分配Nginx和网站的其他部分(这是Apache)之间的资源。 大部分的cpu / ram将被用来托pipe静态文件并执行php的系统调用。 我们将使用vmware esx来创build虚拟机。 我们会在虚拟机上运行nginx而不是在硬件上运行nginx,从而取得重大的性能提升?