博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于nginx实现web服务器的双机热备
阅读量:4182 次
发布时间:2019-05-26

本文共 3946 字,大约阅读时间需要 13 分钟。

一、nginx.conf配置:

#user  nobody;worker_processes  4;#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;#连接超时时间,默认为75s,可以在http,server,location块。    #gzip  on;		#服务器的集群  	    upstream  netitcast.com {  #服务器集群名字   	        server    172.18.9.166:9001  weight=2 max_fails=3 fail_timeout=600s;#服务器配置   #weight是权重的意思,权重越大,分配的概率越大。  	        server    172.18.47.173:9001  weight=1;			#server    172.18.47.173:9001  backup;#备用	    }         server {        listen       8888;        server_name  xiaobu2019.com;		#域名可以有多个,用空格隔开和使用通配符 eg:*.xiaobu.com        server_name www.ha97.com ha97.com;        #charset koi8-r;        #access_log  logs/host.access.log  main;      location / {            proxy_pass http://netitcast.com;            proxy_redirect default;			proxy_connect_timeout 1;        }		        #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;        }        # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1; #请求转向mysvr 定义的服务器列表        #}        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        #location ~ \.php$ {        #    root           html;#根目录        #    fastcgi_pass   127.0.0.1:9000;        #    fastcgi_index  index.php;        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;        #    include        fastcgi_params;        #}        # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        #location ~ /\.ht {        #    deny  all;#拒绝的ip		#allow 172.18.5.54; #允许的ip           #}    }    # 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 ssl;    #    server_name  localhost;    #    ssl_certificate      cert.pem;    #    ssl_certificate_key  cert.key;    #    ssl_session_cache    shared:SSL:1m;    #    ssl_session_timeout  5m;    #    ssl_ciphers  HIGH:!aNULL:!MD5;    #    ssl_prefer_server_ciphers  on;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}}

 

二、两个server程序代码:

@GetMapping("demo")    public String demo(){        Emp emp = new Emp();        emp.setId(UUIDUtils.getUUID());        emp.setName("admin2018-12-25");        emp.setCreateTime(LocalDateTime.now());        empMapper.insertSelective(emp);        System.out.println("emp = " + emp);        return "server 1 成功插入数据";    }

 

@GetMapping("demo")    public String demo(){        Emp emp = new Emp();        emp.setId(UUIDUtils.getUUID());        emp.setName("admin2018-12-25");        emp.setCreateTime(LocalDateTime.now());        empMapper.insertSelective(emp);        System.out.println("emp = " + emp);        return "server 2 成功插入数据";    }

三、结果

强行断掉第一个服务,执行结果只会出现备用服务执行。

主机ip域名映射 C:\Windows\System32\drivers\etc\HOST文件

 


#连接到后台(tomcat X)的连接如果超过1秒,则视为连接失败

 proxy_connect_timeout 1;

 

 #服务器配置 当分配三次失败之后,600s内不会分配请求给这个server

  server    172.18.9.166:8080 max_fails=3 fail_timeout=600s ;  

参考:

转载地址:http://hygai.baihongyu.com/

你可能感兴趣的文章
有关free()函数的一个问题
查看>>
《Android系统学习》之bug定位
查看>>
《Linux内核编程》第七章:USB CORE与USB键鼠驱动
查看>>
《Android系统学习》之JAVA与C混合编程——JNI
查看>>
《C预处理》之#ifndef
查看>>
Android边录边播应用
查看>>
《Linux内核编程》第十三章:Linux对进程内存的二级页式管理
查看>>
ARM协处理器
查看>>
《miniOS分析》前言
查看>>
《Linux内核编程》第十四章:Linux驱动基础
查看>>
Linux平台下ARM-Linux交叉编译工具链
查看>>
Window平台下ADS自带ARMCC编译工具链
查看>>
micro2440/tiny6410使用JLINK直接烧录nand flash
查看>>
C编译器、连接器与可执行机器码文件
查看>>
android linker 浅析
查看>>
802.11 traffic id
查看>>
Android系统wifi分析-手动连接过程
查看>>
设置IP别名Shell脚本
查看>>
Source Insight 宏-单行注释
查看>>
levelDB源码分析-Arena
查看>>