我想使用 Varnish Cache 运行 Magento。到目前为止,我的 PHP 运行为 FastCGI。我现在正在尝试设置 Varnish。还有一个可能非常愚蠢的问题。
因此,据我了解,Varnish 将侦听端口 80 并获取我的网络服务器中缺少的任何内容,该服务器应该在端口 8080 上运行(或我想要的任何端口)。就我而言,这是 FastCGI。
那么如何更改 FastCGI 运行的端口呢?或者我错过了什么/误解了一切?
谢谢!
我代理到外部 JSON api 并尝试缓存代理响应。为了确定代理缓存是否正常工作,我添加了
add_header X-Cached $upstream_cache_status;
Run Code Online (Sandbox Code Playgroud)
并始终看到一个MISS值。
我的 nginx 配置位置:
location /api/tides {
proxy_hide_header Cache-Control;
proxy_ignore_headers Cache-Control;
proxy_cache worldtidecache;
proxy_set_header Host www.worldtides.info;
proxy_pass https://example.com/api/$query_string;
add_header X-Cached $upstream_cache_status;
}
Run Code Online (Sandbox Code Playgroud)
在此之前我已经proxy_cache_path设置
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=worldtidecache:100m max_size=1g inactive=48h use_temp_path=off;
Run Code Online (Sandbox Code Playgroud)
www-data 具有读/写访问权限 /var/cache/nginx
我假设proxy_buffering设置为,on因为我没有任何明确的设置。
nginx 配置有效。我已经测试过它nginx -c nginx.conf -t:
??sudo nginx -c nginx.conf -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Run Code Online (Sandbox Code Playgroud)
我已经跟踪了error.log和access.log …
我们页面上的内容不断变化,因此我们不希望浏览器缓存页面或显示缓存页面或我们的用户。但是,尽管在响应标头中从服务器发送了 no-cache、no-store、must-revalidate,但浏览器仍然显示缓存的页面。\n这确实令人沮丧。我们有成千上万的用户,他们都在阅读旧新闻!
\n我们正在使用客户端 js 模板(handlebars js)从服务器读取数据并渲染页面,但浏览器不断向用户显示最后渲染的页面,而 Handlebars 既不从服务器读取新数据,也不更新内容。可能出什么问题了?
\n如果我按shift重新加载,那么浏览器确实会显示新内容,但我不能要求或期望我的用户每次加载我们的页面时都这样做。
\n有人可以提供有用的指点吗?
\n200 好
\n响应头:
\nAccept-Ranges: bytes\nCache-Control: no-cache, no-store, must-revalidate\nConnection: keep-alive\nContent-Length: 12229\nContent-Type: text/html\nDate: Fri, 14 Aug 2020 09:08:10 GMT\nETag: "1e9602c3ddcf81c338fa4194c61ea035"\nLast-Modified: Fri, 07 Aug 2020 12:38:22 GMT\nServer: nginx/1.19.1\nStrict-Transport-Security: max-age=0; includeSubDomains\nVary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method\nx-amz-request-id: tx00000000000004b9d2b06-005f36547a-ab8956-ams3b\nx-rgw-object-type: Normal\nRun Code Online (Sandbox Code Playgroud)\n请求标头:
\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\nAccept-Encoding: gzip, deflate\nAccept-Language: en-GB,en-US;q=0.9,en;q=0.8\nCache-Control: max-age=0\nConnection: keep-alive\nCookie: _ga=GA1.1.709310680.1596978913; _gid=GA1.1.2045080055.1596978913\nUpgrade-Insecure-Requests: 1\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36\n(index):48 [Violation] Avoid using document.write(). https://developers.google.com/web/updates/2016/08/removing-document-write\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\x8b\n我们正在执行 …
我使用XP Unlimited来允许用户在 Windows 7 机器上执行远程桌面。
用户在远程桌面上运行本机 win32 exe 应用程序(使用 Delphi 构建)。
当我需要更新 exe 文件并且所有用户从远程桌面注销时一切正常,但是当我必须在某些用户使用它时“实时”更新 exe 文件时,我有一个不好的行为:
以某种方式缓存了 exe 并且我有访问冲突错误。
为了实时替换,我重命名了旧的 exe,然后将新的 exe 复制到文件夹中。
这个问题能告诉你什么吗?难道我面临的问题是因为我使用的是非服务器操作系统(Windows 7 而不是 win 2k8)?您能否提出解决方案或向我解释问题。
谢谢。
我正在尝试安装 [memcached-1.2.8-repcached-2.2.1]( http://sourceforge.net/projects/repcached/files/latest/download?source=files )
运行make命令后出现以下错误:
进行全递归
make[1]:进入目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1'
在文档中制作所有内容
make[2]:进入目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1/doc'
make[2]:对“所有”无事可做。
make[2]:离开目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1/doc'
make[2]:进入目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1'
gcc -DHAVE_CONFIG_H -I。-DNDEBUG -g -O2 -MT memcached-memcached.o -MD -MP -MF .d> eps/memcached-memcached.Tpo -c -o memcached-memcached.o
test -f 'memcached.c' || echo './'memcached.cmemcached.c:在函数“add_iov”中:
memcached.c:697: 错误:'IOV_MAX' 未声明(第一次在这个函数中使用)
memcached.c:697: 错误: (每个未声明的标识符只报告一次
memcached.c:697:错误:对于它出现的每个函数。)
make[2]: *** [memcached-memcached.o] 错误 1
make[2]:离开目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1'
make[1]: *** [all-recursive] 错误 1
make[1]:离开目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1'
make: *** [all] 错误 2
操作系统:Centos5.7 64位
gcc-4.1.2-51.el5
gcc-c++-4.1.2-51.el5
libgcc-4.1.2-51.el5
注意:已经安装了用于 php 的 Memcached 和 memcache 扩展
root@server[~]# memcached -h
内存缓存 1.4.5
php 分机 …
我有一个本地缓存 dns 服务器(命名)。
假设我要解析 blizzard.com 域。我的本地 DNS 如何找到正确的服务器来查询这个域?它是否有其他 DNS 服务器的列表?我可以更改它们吗(比如 Google 的 8.8.8.8)?
谢谢!
我刚刚用 nginx(我是新手)和 PHP 设置了一个新服务器。在我的网站上,基本上有 3 种不同类型的文件:
我从这个问题和这个页面了解到,静态文件不需要特殊处理,会尽快提供。
我按照上述问题的答案为 PHP 文件设置缓存,现在我有一个这样的配置:
location ~ \.php$ {
try_files $uri =404;
fastcgi_cache one;
fastcgi_cache_key $scheme$host$request_uri;
fastcgi_cache_valid 200 302 304 30m;
fastcgi_cache_valid 301 1h;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/example$fastcgi_script_name;
fastcgi_param HTTPS off;
}
Run Code Online (Sandbox Code Playgroud)
但是,现在我想防止在论坛上缓存(无论是针对所有人还是仅针对登录用户 - 还没有检查后者是否适用于论坛软件)。我听说位置块内有“如果是邪恶的”,所以我不确定如何继续。使用位置块内的 if 我可能会在中间添加它:
if ($request_uri ~* "^/forum/") {
fastcgi_cache_bypass 1;
}
# or possible this, if I'm able to cache pages …Run Code Online (Sandbox Code Playgroud) 我的 PHP OPcache 达到 100% 内存使用率
General info
Zend OPcache 7.0.4-dev
PHP 5.5.23-1+deb.sury.org~trusty+2
Server Software nginx/1.6.2
Run Code Online (Sandbox Code Playgroud)
这是我的缓存设置:
zend_extension=opcache.so
opcache.memory_consumption=1024
opcache.max_accelerated_files=50000
opcache.revalidate_freq=180
opcache.consistency_checks=0
Run Code Online (Sandbox Code Playgroud)
还有一些关于缓存命中的更多信息:
total memory: 1024.000MB
used memory: 1010.398MB
free memory: 35.086KB
wasted memory: 13.568MB (1.32%)
number of cached files: 10,724
number of hits: 9,576,431
number of misses: 21,450
blacklist misses: 0
number of cached keys: 12,971
max cached keys: 65,407
Run Code Online (Sandbox Code Playgroud)

我应该担心 100% 内存使用率吗?有人可以用外行术语解释 OPcache 内存使用吗?
服务器有 8GB 内存(Linode)
我知道过去有人以类似的方式问过这个问题,但我只是好奇。
如果我制作了一个脚本并让它在每半夜运行以检查我的内存使用率是否高于假设 80 ......让脚本自动运行是一个坏主意sync; echo 1 > /proc/sys/vm/drop_caches吗?我经常遇到一个问题,我的 RAM 使用率因此达到 99%,我只是有点担心。
提前致谢。
我有一个包含以下 os 版本的 Linux 服务器:
Linux 2.6.32-220.7.1.el6.x86_64
我想每2天重启一次,请帮帮我,我想通过crontab来做。
另一个帮助,
我使用下面的代码每小时删除我的内存缓存。
0 * * * * /root/clearcache.sh
#!/bin/sh
sync; echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)
但是每小时第 15 个,我的服务器在清理缓存后仍然很慢。我的网站不会在第 15 分钟内每小时加载一次。
换句话说,如果我重新启动我的服务器,那么缓存也会被删除。所以我决定每两天重新启动我的服务器以删除我的缓存。
重启有用吗?或者有没有其他方法可以删除我的内存缓存而不会关闭我的服务器?