入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

nginx反向代理安装配置、服务器状态监控(健康检查)

创建时间:2016-06-06 投稿人: 浏览次数:254

nginx反向代理安装配置\服务器状态监控(健康检查)\session一致性(memcacheredis配置)

一、首先举例配置memcachedsession一致性和共享session

A准备2台机器(node2node3)

a\node3用于安装tomcat3memcachednginx

b\node2只需要安装tomcat即可,

所以注意:在生产环境中,如果不是nginx的集群,那么只需要安装一个memcached!!

安装成功nginxtomcatmemcached

#yum install memcached  

解压安装tomcattengine成功后下一步

Bnode3中配置nginx.conf文件(文件内容见备注)

C(1)配置tomcatcontext.xml文件(文件内容见备注A

(2)memcached接口jar放入tomcatlib目录下

注意:context.xml中只需添加<Manager  />的内容即可

D先开启tomcat,再开启memcached,最后开启tengine!!!

E打开浏览器:

输入http://192.168.142.103/status------------》查看状态

输入http://192.168.142.103/         ------------》查看sessionjsp页面

然后停止192.168.142.102tomcat,再测试即可

(未实现轮循!!!)


二、再实现redissession共享

只需要更改tomcatcontext.xml文件为redis配置(内容见备注B

成功安装redis,启动redis服务即可

访问---http://192.168.142.107/

未实现轮循!!!

 

备注:nginx.conf配置,实现健康检查和session共享

#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"";

    sendfile        on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    upstream nginx{

       session_sticky cookie=uid fallback=on path=/  mode=insert option=indirect;

       server 192.168.142.103:8080   weight=2;

       server 192.168.142.102:8080   weight=1;

       check interval=3000 rise=2 fall=5 timeout=1000 type=http; #如果是https那么就配https

       check_http_send "HEAD /index.jsp HTTP/1.0 ";

       check_http_expect_alive http_2xx http_3xx;

    }

    server {

        listen       80;

        server_name  www.sx2.com;#如果在windowshosts中配置了映射,则可以直接访问

        location / {

            session_sticky_hide_cookie upstream=nginx;

            proxy_pass http://nginx;

            proxy_set_header  Host  $host;

            proxy_set_header X-Real-IP $remote_addr;

            root   html;

            index  index.html index.htm;

        }

       location /status {

         check_status ;#多个tomcat的健康检查

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}


备注A:tomcatcontext.xml文件配置memcached

<?xml version="1.0" encoding="utf-8"?>

<Context>

 <!-- Default set of monitored resources -->

 <WatchedResource>WEB-INF/web.xml</WatchedResource>

 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

     memcachedNodes="n1:192.168.142.103:11211"

     sticky="false"

     lockingMode="auto"

     sessionBackupAsync="false"

     requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"

     sessionBackupTimeout="1000"

     transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

    />

</Context>

 

备注B:tomcatcontext.xml文件配置redis

<?xml version="1.0" encoding="utf-8"?>

<Context>

    <!-- Default set of monitored resources -->

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

   <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />

   <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"

         host="192.168.142.107"

         port="6379"

         database="0"

         maxInactiveInterval="60" 

    />

</Context>


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。