关闭

nginx负载均衡与主备设置

标签: nginx负载均衡主备高可用
3891人阅读 评论(0) 收藏 举报
分类:

准备工作

本次试验都是在win7下完成


安装apache-tomcat-7.0.50

1.设置conf下server.xml 端口为

 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

<Server port="8005" shutdown="SHUTDOWN">

 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

复制tomcat,端口改为

 <Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8444" />

<Server port="8008" shutdown="SHUTDOWN">

<Connector port="8011" protocol="AJP/1.3" redirectPort="8444" />

端口不要重复,避免带了不必要的麻烦导致启动失败

注意是否设置了调试接口查看catalina.bat中

SET "CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888"

如果设置了5888,那么要保证不能重复,或者直接加上rem注释(如果不这么做,会出现下面这个错误

FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197))


2.将各自webapp文件夹下建ROOT文件夹,里面新建index.html,内容为

<!DOCTYPE html>
<html>
   welcome 8080
</html>

<!DOCTYPE html>
<html>
   welcome 8082
</html>

3.启动startup.bat


安装nginx-1.10.1

1.直接启动nginx.exe ,启动成功logs文件下会出现nginx.pid,浏览器输入localhost能查看成功页面

我第一次没启动成功,error.log提示bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

80端口被占用了!

因为nginx.conf文件中配置了

server {
        listen       80;

通过netstat -aon|findstr "80" 找到占用的进程,tasklist|findstr "1908"找到对应的进程名

httpd.exe                     1908 Services                   0      9,380 K

通过进程管理器杀之,再启动nginx.exe就可以了

2.配置nginx.conf

红色部分是修改的


worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  10;
    upstream tomcat_servers {
server 127.0.0.1:8080 ; 
server 127.0.0.1:8082  backup; 
    }


    server {
        listen       80;
        server_name  mylocalhost;

        location / {
            root   html;
            index  index.html index.htm;
        proxy_pass http://tomcat_servers;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

测试结果

1.浏览器输入localhost,页面展示8080,不会访问到backup

这时关掉8080对应tomcat窗口,继续访问,会很久(90秒左右)才会响应8082,就算改成

server 127.0.0.1:8080  max_fails=1  fail_timeout=3s也无济于事,求大神解答

再启动8080tomcat,页面能很快访问到8080,总结就是主tomcat访问很快,备tomcat访问很慢,而且是每次都慢!


看样子还是得用keepalived做主备啊!


2.配置成下面这样

server 127.0.0.1:8080  weight=5; 
server 127.0.0.1:8082 weight=5;

浏览器响应页面很随机的出现8080,8082,达到负载均衡的效果


0
0
查看评论

nginx负载均衡及主备配置

先负载均衡 nginx的负载均衡有4种模式: 1)、轮询(默认)       每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight      ...
  • redstarofsleep
  • redstarofsleep
  • 2017-07-06 16:54
  • 774

keepalived+nginx双机热备+负载均衡

keepalived+nginx双机热备+负载均衡 最近因业务扩展,需要将当前的apache 转为nginx(web), 再在web前端放置nginx(负载均衡)。同时结合keepalived 对前端nginx实现HA。 nginx进程基于于Master+Slave(worker)多进程模型,自身...
  • e421083458
  • e421083458
  • 2014-06-11 19:45
  • 95685

nginx+tomcat实现主备切换

一、准备工作 1、nginx安装 1.1、准备工作 选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。 Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HTTP模块会用到PCRE...
  • qq_33432559
  • qq_33432559
  • 2017-05-07 12:03
  • 1304

配置nginx + keepalived双主模式(双机互为主备)

前言 此前已经写过一篇使用keepalived实现nginx的高可用 这种方式有一台机器一直作backup使用,比较浪费资源 使用keepalived来实现nginx的高可用 下面来配置nginx+keepalived的双主机双机热备,这种配置下有两个Virtual IP,两...
  • MassiveStars
  • MassiveStars
  • 2017-01-09 20:03
  • 1914

nginx+keepalived实现双机热备高可用性

nginx+keepalived实现双机热备高可用性(不懂运维的程序员,不是好的工程师!)
  • caicongyang
  • caicongyang
  • 2015-06-10 17:52
  • 4270

nginx+keepalive主从双机热备+自动切换解决方案

转自:http://blog.sina.com.cn/s/blog_630d50dc0102w3dt.html 环境采集cenots 6.3 64位迷你安装,因为安装前,你需要做一些工作 yum install -y make wget 如果你愿意可以更新下系统,更换下yum源.1.安装ke...
  • wingahi
  • wingahi
  • 2016-08-30 00:26
  • 1723

Nginx 主从热备双机架构

部署Nginx 一,安装nginx依赖:  查看是否已经安装  rpm -qa |grep gcc  rpm -qa |grep openssl-devel  rpm -qa |grep pcre-devel  rpm -qa |gr...
  • cengjingyige
  • cengjingyige
  • 2017-04-04 16:28
  • 181

nginx(四) nginx+keepalived 实现主备+双主热备模型的高可用负载均衡代理服务

nginx+keepalived 实现主备+双主热备模型的高可用负载均衡代理服务:下面将在前文的一些基础上,用keepalived分别实现主备模型和双主模型的nginx反向代理服务器的高可用。
  • tjiyu
  • tjiyu
  • 2016-11-05 22:17
  • 3558

Nginx+keepalived 脚本安装主从双机热备自动切换解决方案

Nginx+keepalived 脚本安装主从双机热备自动切换解决方案 2013-07-02 19:24:13 标签:files nginx keepalived 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://klin...
  • tuna_lxg
  • tuna_lxg
  • 2015-04-29 21:15
  • 1382

Nginx Upstream 实现简单双机主从热备

upstream  testproxy  {          server   127.0.0.1:8080;      &...
  • asdfsfsdgdfgh
  • asdfsfsdgdfgh
  • 2016-05-24 17:36
  • 2860
    个人资料
    • 访问:247143次
    • 积分:4205
    • 等级:
    • 排名:第8632名
    • 原创:149篇
    • 转载:78篇
    • 译文:0篇
    • 评论:43条
    全家桶
    心境
    • n年后的事情会是什么样子
    • 谁知道呢
    • 做好现在吧
    • 每天能进步一点
    • 你就应该满足了
    博客专栏