在目前的单片LAMP服务器上,我们通过Capistrano进行部署,并在部署结束时重新加载PHP-FPM,以刷新操作码caching。 现在,我们正在AWS上为PHP 7.0和PHP 5.5应用程序构build一个新的webhosting集群。 具有PHP-FPM的应用程序服务器将水平自动调整。 PHP代码将存储在Amazon S3上的NFS服务器和静态资产上。 当我没有一个固定的主机列表时,如何在部署完成后刷新所有的OpCache?
我刚刚重新安装我的机器,以删除旧的依赖关系,并以一种更合适的方式安装的东西,我刚刚意识到caching似乎错了。 标题如下图所示: cache-control:max-age=300 content-type:image/png date:Wed, 09 Nov 2016 13:17:50 GMT expires:Wed, 09 Nov 2016 13:22:50 GMT last-modified:Wed, 09 Nov 2016 12:25:44 GMT server:nginx/1.11.5 status:200 你可能会看到到期的是5m 。 但是,高速caching块设置为: location /assets { alias /var/www/f13/content/themes/lechuck/assets; access_log off; expires max; } 所以它应该是10年。 这是整个文件: # sets the proxy cache path location, max size 2g proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=STATIC:100m inactive=24h max_size=2g; […]
我很新,这可能是一个愚蠢的问题:/ 所以我试图在nginx上启用caching,但是当我重新加载服务器时,我将以“502 Bad Getaway” 我知道哪一行破坏了一切,但我不知道为什么以及如何解决这个问题。 proxy_pass http://127.0.0.1/; 如果我评论这一行这个网站正在工作,但没有明显的caching。 有人能解释我什么我想失踪吗? 整个conf文件: #GE CONFIG (DOT NOT REMOVE!) include forge-conf/dev.mywebsite.com/before/*; proxy_cache_path /var/cache keys_zone=one:10m levels=1:2 inactive=60m use_temp_path=off; map $sent_http_content_type $expires { default off; text/html epoch; text/css max; application/javascript max; ~image/ max; } server { listen 80; server_name dev.mywebsite.com; root /home/forge/dev.mywebsite.com/public; # FORGE SSL (DO NOT REMOVE!) # ssl_certificate; # […]
我正在试着把Varnish放在位于东京的Linode服务器前。 我的用户群是在印度,所以从印度直接提供caching内容将加速我的Web应用程序由于较短的地理距离延迟较低。 我在印度有一个数字海洋液滴(因为Linode没有印度服务器),我想用它作为站在东京Linode服务器前面的HTTPencryption器。 我已经阅读了文档说,我将需要使用我的实例的私有IP,但这是不可能的,因为地理隔离和不同的提供商。 我如何继续实现呢?
如果一个Apache服务器充当反向代理,终止ssl连接,是否能够caching响应? 我知道用sslencryption的响应本身不能被caching,但是如果apache终止了ssl连接,它应该可以访问未encryption的响应。 澄清一下,该站点当前的apacheconfiguration如下: <VirtualHost *:80> ServerName api.beta.robocubs4205.com Redirect permanent / https://api.beta.robocubs4205.com </VirtualHost> <VirtualHost *:443> ServerName api.beta.robocubs4205.com SSLEngine On SSLCertificateFile /etc/letsencrypt/live/beta.robocubs4205.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/beta.robocubs4205.com/privkey.p$ ProxyRequests Off ProxyPass "/" "http://127.0.0.1:8080/" ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost> 注意ProxyPass指令代理http而不是https。 我可以在这种情况下添加caching吗? 如果是这样,我可以使用与正常httpcaching相同的configuration吗?还是有什么特别的我需要做的? 另外,请随时指出我发布的configuration中是否有任何大的安全漏洞。 编辑:如果通过https与SSLProxyEngine代理到另一台服务器的答案是相同的?
我一直在阅读关于HTTP / 2的知识,而服务器抢占资源给客户端的想法看起来不错。 但是如果客户端不需要它,因为客户端已经从最后一次访问中caching了它呢? 似乎有一个RST_STREAM ,让客户端立即终止一个stream。 但是如果服务器速度太快,并且已经发送了,会发生什么? RST_STREAM是否有效地向已经caching的文件的服务器发送信号?
在ESXi 5.5中,主机configuration具有许多与各种types的交换文件和高速caching相关的类似的声音设置。 我了解回写/直写磁盘caching的原理,并将VM交换文件交换到主机,而不是远程VMDK,我正在阅读文档,但它仍然是相当混淆这是哪些,以及它们是如何在ESXi中相互关联。 有关信息,我的系统具有一个具有96GB RAM和三个数据存储的独立主机 – 本地启动存储,iSCSI主存储以及用于交换/caching使用的250 GB NVMe SSD。 对差异的明确解释以及它们如何一起工作现在将非常有用:)
我的服务器的free命令输出如下所示: #free -m caching总共使用的空闲共享缓冲区 Mem:995 780 205 0 49 599 – / + buffers / cache:140 854 交换:0 0 0 我们知道dd应用程序通常使用页面caching来加速文件访问。 发出命令后: dd if = / dev / zero of = 2.txt bs = 1M count = 10 以下输出显示页面caching增加了10M左右。 #free -m caching总共使用的空闲共享缓冲区 Mem:995 790 215 0 49 599 – / + buffers / cache:140 854 […]
我使用Nginx作为清漆之前的SSL终结者。 后端是litespeed。 我有两个使用HTTPS协议的wordpress网站。 我在我的基础设施前面有一个Haproxy,它只通过SSLstream量到Nginx。 我的一个网站加载速度很快,当我通过萤火虫检查caching项目的状态时,一切都会得到'HIT',如.js .css和域名:domain1.com。 当我检查这些项目的第二个WordPress的网站,.js和HTML文件得到“MISS”相同的域名domain2.com。 两个网站的Nginx和Varnish和后端的configuration是一样的。 我也禁用了所有的插件以及我认为会影响caching的插件:WP最快caching,404至301,Broken Link Checker以及其他一些插件。 唯一的区别是,第二个网站有一个机器人,收集来自其他网站的新闻,并把他们放在网站(某种networking爬虫)。 是什么原因导致清漆cachingcaching在第二个网站上的一切? 编辑: 我添加了未被高速caching的请求的清漆日志: varnishlog -g request -q "ReqUrl ~ '/wp-content/themes/farda/js/jquery.min.js'" * << Request >> 149 – Begin req 148 rxreq – Timestamp Start: 1499626236.025652 0.000000 0.000000 – Timestamp Req: 1499626236.025652 0.000000 0.000000 – ReqStart 192.168.1.108 57470 – ReqMethod GET – ReqURL /wp-content/themes/farda/js/jquery.min.js – […]
我遇到了一个奇怪的问题。 我有一个自定义的configuration和编译版本的NGINX(我想安装几个额外的编译时间模块)。 无论什么原因,它创buildclient_temp作为一个文件,而不是一个目录,每当我尝试上传一个文件,这导致500内部服务器错误。 我的configuration: –prefix=/opt/nginx –sbin-path=/usr/local/sbin/nginx –conf-path=/opt/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –http-client-body-temp-path=/var/cache/nginx/client_temp –http-proxy-temp-path=/var/cache/nginx/proxy_temp –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp –http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp –http-scgi-temp-path=/var/cache/nginx/scgi_temp –user=www-data –group=www-data –with-http_ssl_module –with-http_realip_module –with-http_gunzip_module –with-http_gzip_static_module –with-threads –with-file-aio –with-ipv6 –with-http_v2_module –with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=native' –add-module=../ngx_cache_purge-2.3 –add-module=../headers-more-nginx-module –add-module=../ModSecurity-nginx 正如你所看到的,我确实为client_temp指定了一个path:– –http-client-body-temp-path=/var/cache/nginx/client_temp ,但它是一个文件而不是目录。 我是否需要手动创buildclient_temp作为目录并删除文件? 还是有另一种方法来纠正这种情况?