nginx + resin 集群,不自动踢掉不能服务的后置机
nginx 的配置
问题描述:
当后置的两台服务器全部启动后,nginx 可以随机的访问后面两台机器。
当后面的一台stop 后,在前台访问一个地址,如xxx.action 这个地址是由后置机处理的。点一下,则前台状态是连接后置机中,一直连接中,访问不过去,再点一下xxx.action 那么一下子就访问成功了。 换别外一个地址也是这种情况。
后来,我配置3个后置机,其中两台不提供服务,则需要点第三个次xxx.action 的时候,前台的nignx才一下子访问成功。给我感觉是:点一下,访问一个不能提供的后置机,再点一下,访问到另外一个不能提供服务的后置机,再点一下才访问到那个可以提供正常服务的后置机。
按理说,它应该可以自动找到能够提供服务的后置机啊?不知道是哪里配置的不对。
注:单独任何一个后置机都是可以访问成功的。后置机全部启动时,也是可以访问成功的。
附nignx 配置
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream 192.168.1.171 {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
server_name 192.168.1.171;
#resin status
location /status {
stub_status on;
auth_basic "NginxStatus";
}
location / {
root D:workspaceWebRoot;
index index.jsp;
}
location ~* .(jsp|do|action)$ {
root D:workspaceWebRoot;
index index.jsp;
proxy_pass http://192.168.1.171;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80 default;
return 500;
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
需要设置一个超时时间,请看 http://www.oschina.net/code/snippet_12_175 这里的 proxy.conf
另外当resin挂掉的时候,有一两个请求会受影响,这是很正常的!只要接下来的请求正常就OK了