我正在寻找一个解决scheme,以在networking服务器上长期(几天/几周)caching404s。 我目前的设置是使用memcached_pass代理的NGINX和PHP-FPM提供未caching的页面(PHP也将内容写入memcached)。 networking上的爬虫似乎喜欢我的页面,每天产生几千个404请求。 所有这些都直接命中PHP,因为我无法将404响应头信息与memcached中的内容一起caching,因此memcached_pass查找总是失败。 我如何caching所有返回404的请求? Nginx的HTTPProxModule是我在找什么? 还是应该去清漆? 从我目前的观点来看,我不想改变我的整个设置,并从nginx中删除memcached_pass指令。 到目前为止,这是相当整洁的,因为php决定请求可以(应该)caching在memcached中。 必要时刷新caching也非常容易。 我目前的NGINXconfiguration文件: server { listen 80; server_name _; gzip on; gzip_http_version 1.0; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; location / { gzip on; default_type "text/html; charset=utf-8"; charset utf-8; add_header Content-Encoding gzip; if ($request_method = GET) { […]
我在我的RHEL6.x上安装了varnsih。 虽然清漆,清漆和清漆显示正确的数据varnisncsa不logging任何数据,即使没有任何选项定义运行。 我有所有的进程,并确保他们正在阅读正确的_.vsm文件。 可能会发生什么,导致varnishncsa发出一个空白的输出? 我的/ etc / sysconfig / varnishncsa文件如下 #NCSA log format, to be used by HTTP log analyzers VARNISHNCSA_ENABLED=yes # Include log entries which result from communication with a backend server. LOG_BACKEND=no # Include log entries which result from communication with a client. LOG_CLIENT=yes #extra options to varnishncsa DAEMON_OPTS="$DAEMON_OPTS -F '%{Host}i %h %l […]
我试图configurationfail2ban禁止不良的WordPresslogin尝试,但我没有太大的成功。 我正在使用WP fail2ban 3.0.0 ,正确地logging/var/log/secure上的错误login尝试,据我所知(如果有人感兴趣,我提供下面我的插件configuration): Apr 19 18:21:42 droplet wordpress(website.com)[17157]: Authentication failure for admin from my.ip.add.ress 该filter似乎也被正确configuration。 事实上,如果我运行fail2ban-client status wordpress我可以看到我的IP被禁止: Status for the jail: wordpress |- Filter | |- Currently failed: 2 | |- Total failed: 15 | `- File list: /var/log/secure `- Actions |- Currently banned: 1 |- Total banned: 1 `- Banned IP […]
我有一个很奇怪的问题。 在我的环境中,我们正在运行一个负载平衡的8台Apache主机和一台主 – 主MySQL后端。 在Apache的前面,我们在caching层中有Varnish。 我们已经运行Apache mod_pagespeed几个星期了,而且大部分时间它一直在运行。 当我们从Git执行新的代码更新时,和/所有的JS / CSS资产发生变化,问题就出现了。 基本上这个问题似乎有两个方面。 其一,在代码推后,我们通常会借此机会清除清漆,重新启动apache,并重新启动清漆。 在这样做的情况下,所有的mod_pagespeed组合/缩小文件都被清除,确保所有新的JS / CSS资源都是新鲜的。 问题是,这样做的文件名mod_pagespeed创build更改,但旧文件(出现)仍然caching许多人的客户端导致非常意外的结果。 但是,如果我们不重新启动apache,由于caching的缩小资产,文件的更改可能会或可能不会出现在客户端。 简单的解决scheme是禁用mod_pagespeed,但我宁愿不这样做,因为它已经在性能上产生了相当大的影响。 我感觉好像要有一个更好的方法来处理客户端和服务器之间的caching不一致,以防止人们花大价钱去执行大量的页面刷新来查看工作页面。 如果有人需要,我可以提供configuration代码片段。 如果您想检查网站,来源,标题或任何其他内容,请尝试以下地址: http://wellplayed.org http://wellplayed.org/tv 提前致谢!
现在我正在用varnish前端在nginx上运行Wordpress w / W3 Cache。 我正在尝试使用WordPress的WP Touch Pro插件来显示移动网站,但它不工作。 仍然显示桌面主题。 我已经将移动用户代理放在了w3caching中的拒绝用户代理框中。 这里是nginxconfigurationw3caching吐出来: BEGIN W3TC Page Cache cache location ~ /wp-content/w3tc/pgcache.*html$ { expires modified 3600s; add_header X-Powered-By "W3 Total Cache/0.9.2.4"; add_header Vary "Accept-Encoding, Cookie"; } location ~ /wp-content/w3tc/pgcache.*gzip$ { gzip off; types {} default_type text/html; expires modified 3600s; add_header X-Powered-By "W3 Total Cache/0.9.2.4"; add_header Vary "Accept-Encoding, Cookie"; […]
我正在实施一种url缩短服务。 会发生什么是我有一些后端应用程序服务器接受请求,做一些计算,并返回一个301redirect的URL返回上游到一个nginx前端: request —> nginx —-> app_server 我想能够做的就是caching这个返回的301 url的同一个请求(具有“短代码”的具体url)。 nginx会自动执行这个caching吗? 或者我应该在nginx和app_server之间join类似varnish的东西? 我可以很容易地将其caching在memcache中,但是这需要点击app_server,在第一次请求之后我肯定可以放弃这一点。 谢谢。
我运行的是具有1.2 GHz CPU和2.4 GB RAM的CentOS 6 64位服务器。 服务器运行nginx和php-fpm与APC扩展和mysql。 几个星期前,服务器开始不断地在HTTP请求上抛出500个错误; Google WMT每天报告抓取错误中的每天450个服务器错误。 如果你正在浏览网站,每3-4页左右就会出现一个错误。 这是如何configurationphp-fpm: pm = dynamic pm.max_children = 45 pm.start_servers = 15 pm.min_spare_servers = 5 pm.max_spare_servers = 15 pm.max_requests = 1000 在检查我在php-fpm错误日志中发现的日志之后,发现这些是最常见的两个错误: ERROR: fork() failed: Cannot allocate memory (12) WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, […]
我正在运行一个512MB,我有很多内存问题。 我认为是由于我的configuration。 root@s1:~# free -m total used free shared buffers cached Mem: 1024 1022 1 0 0 0 -/+ buffers/cache: 1022 1 Swap: 0 0 0 root@s1:~# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 23760 1756 ? Ss 15:33 0:00 init root 1086 0.0 0.0 […]
我尝试curl -I domainname ,这里是响应。 HTTP/1.1 200 OK Date: Tue, 21 Apr 2015 14:49:09 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.3.3 Set-Cookie: PHPSESSID=kpgqqefkge38jlqc608hq12046; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Type: text/html; charset=UTF-8 X-Varnish: 294982 Age: 0 Via: 1.1 varnish-v4 Content-Length: 0 Connection: keep-alive HTTP/1.1 200 OK Date: […]
运行8080上的Apache和80上的Varnish的Ubuntu 9.04盒子。 最近成立了Munin,并想知道为什么Apache图表是空的。 从Munin正在访问/server-status?auto的日志中看到,并得到403 Forbidden 。 所以我编辑/etc/apache2/monds-enabled/status.conf以允许从127.0.0.1访问。 但是这样做实际上是公开的/server-status ,因为来自Varnish的请求也来自127.0.0.1 。 所以问题是,如何configurationmod_status只能由munin-node访问,而不能通过Varnish?