memcached在winginx上不工作
我计划在Windows7上试用memcached和winginx。我当前有以下配置:memcached在winginx上不工作,nginx,memcached,httpserver,winginx,Nginx,Memcached,Httpserver,Winginx,我计划在Windows7上试用memcached和winginx。我当前有以下配置: location / { root home/$host/public_html/static; try_files $uri @def; } location @def { proxy_pass http://127.0.0.1:4711; } locat
location / {
root home/$host/public_html/static;
try_files $uri @def;
}
location @def {
proxy_pass http://127.0.0.1:4711;
}
location @xyz {
set $memcached_key $uri;
# memcached_pass http://127.0.0.1:11211;
default_type text/html;
error_page 404 = @fallback;
}
location @fallback {
proxy_pass http://127.0.0.1:4711;
}
正如您所看到的,memcached_pass被注释掉了,如果我取消注释它,那么在尝试访问nginx服务器上的任何内容时会出现连接错误。location@xyz指令未使用,不应破坏任何内容
感谢您的帮助。尝试更换
http://127.0.0.1:11211
与本地主机:11211
memcached_pass localhost:11211;
并检查memcached服务器是否正在运行,以确保其正常运行。您应该从
memcached\u pass
指令中删除http://
。
请参阅文档:在连接错误之后,nginx错误日志中会显示什么?在C:\Winginx/conf/nginx.conf:73中会显示“上游主机无效”请原谅我的无知,但为了检查memcached服务器是否正在运行,我需要发出请求,对吗?用服务器名替换ip没有帮助。您正在运行windows,因此我不确定这是如何实现的,我想最简单的方法是尝试查看是否有应用程序使用
netstat-a-n
在端口11211上侦听,或者使用exe重新启动服务器(我发现一些页面使用了c:\memcached\memcached.exe-d start
,当然这取决于memcached的安装位置),如果服务器已经在工作,那么它应该失败,并说端口已经被占用,否则它将启动服务器。我使用exe启动了memcached服务器,结果仍然是一样的。当我忽略memcached_pass指令并且一切正常时,memcache admin在端口85可用,它显示了服务器的统计信息但是,在目前的情况下,到端口85的连接也失败了。谢谢!!没有注意到这个错误。