我正在考虑编写一些逻辑到我的应用程序,以便它可以将静态页面内容写入s3或某个CDN,并主要从那里开始。 但是我不确定这是否可能。 例如,我有site.com/something,它应该首先在cdn中查找,如果不存在,则从varnishcaching或nginx / php-fpm提供服务。 这个想法是把stream量从服务器上拿走。 这是一个可能的情况? 在drupal中,我看到了一个模块来做到这一点 。 它将静态文件caching存储在磁盘中,并在其中存在。 下面是他们提供的图表。 他们问下面的.htaccess除外 # RewriteBase / ### BOOST START ### # Allow for alt paths to be set via htaccess rules; allows for cached variants (future mobile support) RewriteRule .* – [E=boostpath:normal] # Caching for anonymous users # Skip boost IF not get request OR uri […]
我有一台运行32位Debian GNU / Linux v7.9的64位内存的服务器: # uname -a Linux srv1 3.2.0-4-686-pae #1 SMP Debian 3.2.68-1+deb7u5 i686 GNU/Linux # free -m total used free shared buffers cached Mem: 64203 8352 55850 0 134 5861 -/+ buffers/cache: 2356 61847 Swap: 8582 0 8582 问题在于, 内存可以被用于caching ,因此可以提高系统性能。 我有另一台服务器与运行64位Debian GNU / Linux v8.1相同的硬件,并没有这样的问题: # uname -a Linux srv2 3.16.0-4-amd64 […]
当我需要事先与sync执行echo 3 > /proc/sys/vm/drop_caches时,是否更好使用 sync && echo 3 > /proc/sys/vm/drop_caches或 sync ; echo 3 > /proc/sys/vm/drop_caches sync ; echo 3 > /proc/sys/vm/drop_caches 。 这是否甚至重要,因为这两个命令对文件系统数据是安全的? 或者第二个版本可能会丢失数据?
因为我被困在黑暗中,所以我希望任何人都可以在这里投入一些光 基本上,我试图制作一个反向代理NGINXcaching内容。 反向代理工作正常,但caching部分…不。 我遵循许多指南和不同的方法,但所有的结果在我的caching文件夹emtpy和每一个 curl -X GET -I 资源返回X-Proxy-Cache:MISS 我的设置非常基本,正如我所说的,我有一个运行Apache和Tomcat的后端服务器,以及一个运行NGINX的前端反向代理所有请求。 我只是发布一个特定的(最简单的)nginx虚拟主机的信息,它提供了en owncloud安装。 猫/ etc / redhat-release CentOS Linux版本7.2.1511(核心) NGINX -V nginx version: nginx/1.6.3 built by gcc 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) TLS SNI support enabled configure arguments: –prefix=/usr/share/nginx –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –http-client-body-temp-path=/var/lib/nginx/tmp/client_body –http-proxy-temp-path=/var/lib/nginx/tmp/proxy –http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi –http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi –http-scgi-temp-path=/var/lib/nginx/tmp/scgi –pid-path=/run/nginx.pid –lock-path=/run/lock/subsys/nginx –user=nginx –group=nginx –with-file-aio –with-ipv6 –with-http_ssl_module […]
我有一个在节点+ express + passport + mongo数据库+ ejs的web应用程序,单个应用程序configuration为处理所有的子域。 我使用nginx作为代理服务器,我需要并且必须使用代理caching来减less节点服务器上的负载。 我有2个问题, 1.我需要configurationnginx代理caching,因为它应该为各个子域创build不同的caching。 2.对于login的用户内容会改变一点点。 我怎么能pipe理这个..? 请帮我解决。 提前致谢。 以下是configuration upstream backend_app_hosts { server localhost:3005 max_fails=0 fail_timeout=10s; server localhost:3006 max_fails=0 fail_timeout=10s; keepalive 64; } proxy_cache_path /var/www/cache levels=1:2 keys_zone=cache-1:8m max_size=1000m inactive=600m; server { listen 80 ; charset UTF-8; client_max_body_size 16M; keepalive_timeout 20; server_name *.domain.com; location / { proxy_redirect off; proxy_set_header X-Real-IP […]
我们在ESX 6和CentOS 7机器之间的后退连接有一个奇怪的问题。 希望能find一个解决scheme在stackoverflow 故事如下: – 我们使用直接连接到ESX的CentOS 7,并将其用作iSCSI NAS – ESX不时会看到NAS无法看到NAS,相应的DataStore将无法访问 – 发生这种情况时,我们会检查所有内容没有任何物理错误,NIC上的指示灯亮起,Linux上的ethtool和ESX报告链接正常 – 当我们检查arp时,Linux知道ESX接口,但ESX不是,而且它的arpcaching表示不完整。 – 当我们使用tcpdump检查ARP / RARP数据包时,发生了一些奇怪的事情,在Linux中,从ESX接口接收到ARP,并且tcpdump显示了Linux对ARP请求的回复,ESX上的每个tcpdump上都没有Linux发送的ARP回复。 – 不知怎的,链接似乎成了一条单向的路! 检查命令和结果我们在search一个线索: 在CentOS 7上 [root@nas ~]# arp -an ? (10.10.10.2) at 00:50:56:XX:0d:77 [ether] on enp3s6 ? (192.168.70.254) at 00:50:56:XX:99:c7 [ether] on enp5s0 [root@nas ~]# tcpdump -nnvli enp3s6 arp tcpdump: listening on enp3s6, link-type EN10MB (Ethernet), […]
无法用squid反向代理caching任何内容,在centOS6.5中运行 squid.conf中 http_port 81 accel defaultsite=example.com:8080 no-vhost cache_peer example.com.ip.address parent 8080 0 no-query originserver name=myAccel acl our_sites dstdomain example.com http_access allow our_sites cache_peer_access myAccel allow our_sites cache_peer_access myAccel deny all cache_dir ufs /tmp/squid/cache 4000 16 256 coredump_dir /tmp/squid/cache cache_mem 500 MB maximum_object_size_in_memory 512 KB minimum_object_size 0 KB maximum_object_size 200 MB refresh_pattern . 0 20% 4320 […]
我已经注册了CloudFlare,虽然它似乎工作的一些网页,我不能得到一个规则,以正确的PHP页面服务图像。 有问题的页面是: http : //www.landcruiserclub.net/forums/attachment.php?attachmentid=23999&d=1452806909&thumb=1 我有一个规则说,确切的模式,caching一切。 每次去Web-Sniffer或者检查我收到的本地头文件,我都会得到CF-Cache-Status:MISS 它应该能够像这样caching页面吗? 谢谢Crispin
我想限制一个Linux服务器的RAM分配到磁盘高速caching缓冲区,而不是闲置。 (如果有关系的话,CentOS 5)。 我知道,即使只是caching磁盘,使用每一滴物理内存都是理想的select – Linux非常棒。 大多数时候我甚至不考虑试图击败这一点。 让我告诉你为什么我想(我不关心监测): 我的公司与第三方签订了一些虚拟机的合同,我们在每月的账单上都有一个承诺的内存限制。 Overages是疯狂的昂贵。 其中2个虚拟机运行一个应用程序,只是在启动过程中啃 RAM,但一旦稳定,使用率就会下降很多。 开发人员向我保证,这个服务应该做什么,不会很快变好。 所以我保留这些虚拟机configuration了正常运行模式通常需要的大约2倍的RAM。 一旦稳定,额外的东西就会被扔进缓冲区caching,大家都很开心。 除了财务人员。 我们的服务提供商将虚拟数据中心的总数量与分配给缓冲区caching的内存进行了对比,因此我们每个月都会支付这笔费用。 很多。 我不相信我关心什么是caching – 我会很高兴地运行较less的RAM(即更less的caching),并采取一些文件访问性能打击(我承担…),除了当应用程序从头开始,并需要内存不会真正交换到地狱和背部。 所以我正在寻找一种方法来告诉Linux,“嘿,只有1GB(或者更好,x%)的可用内存来caching磁盘caching,只要继续,浪费剩下的时间吧!” 这些年来我们可以节省很多钱,因为如果这个RAM实际上保持空闲并且没有分配给缓冲区,那么它就不会计入我们承诺的数额,我们也不必“出租”它。 但是由于有些东西正在使用它,所以即使它只是缓冲区caching,我们也会付钱。 我search了很多东西,大部分都是看到“OMG为什么我的服务器总是几乎100%”这样的问题,以及那些被吓坏了的关于他们的监控/报警/ nms和受到反馈教育的人 – 这不是我的问题; 10年前我也有同样的反应,但是在这种情况下,我真的不想使用RAM,所以当应用程序不需要时,我不必“付房租”。 备用build议欢迎,如果你想另一种方法来完成这一点。 非常感谢…
我正在使用FRiCKLE的ngx_cache_purge模块来使代理caching失效。 我遇到了一个问题,无法清除caching时使用不同的主机部分访问失效的url比用于访问原始内容。 例如,如果我访问这样的内容: curl -H 'Content-Type: application/json' -d '{ "token": "pts7v4nqf7stfq35qeb570v5n2" }' -X POST -D – http://api.example.com/news/article/cache-testing caching文件是用一个普遍的关键字创build的,它的工作原理是,随后的请求是正确的。 当内容发生变化时,为了清除caching的数据,后端在所有Web服务器上执行相同的操作: curl -D – http://10.200.100.101:8080/invalidate_cached_url/POST/news/article/cache-testing 而这将返回404,因为caching文件是以某种方式生成的host部分的URL,为了清除它,我必须调用无效的URL在同一主机在线。 这是一个问题,因为我有一个webload的负载均衡器。 为了certificate这一点,我保存了上述方法生成的caching文件并清除了caching,然后直接用IP地址访问了api端点: curl -H 'Content-Type: application/json' -d '{ "token": "pts7v4nqf7stfq35qeb570v5n2" }' -X POST -D – http://10.200.100.101:8080/news/article/cache-testing 现在当我尝试清除像上面的caching,它的工作原理。 而且足够真正的caching文件是不同的,但在二进制级别,但密钥是相同的。 有没有解决的办法? 这是我的configuration: proxy_cache_path /tmp/nginx/example-api levels=1:2 keys_zone=example_api_zone:300m inactive=1h; upstream origin_api { server localhost:8888; } […]