使用Nginx在自己的电脑上实现负载均衡

我其实早就想弄这个负载均衡了,但是总觉得这玩意肯定不简单,今天星期六闲着没事终于下定决心来搞一搞他了,但是没想到这玩意这么简单,真的是出乎我的意料的简单(我现在陪的是最简单的那种)。额是没有我想象中的难。

再此记录一下防止以后忘了,在去到处的找。

Nginx

好处,开源、简单、支持大部分平台

先从官网上下载压缩包  http://nginx.org/en/download.html

我用的是nginx-1.8.1 这个版本的 1.22MB(真小)

解压出来

到这问题来了,大概有两个问题

一、配置怎么配

二、这玩意怎么起来

先看怎么配

  配置这玩意还是很简单的

  刚下载的配置文件中是没有任何配置的(配置文件在 conf/nginx.conf)

  用Sublime(最NB的记事本、比notepad++还要强、甩editplus一百条大街)打开

  配置文件中以#开头的应该是注释掉的东西,不用去管

  主要看http{}这个大括号里面的东西,

  其中我们需要配的地方只有http下的server{}这个括号里面

  

    upstream  a.com {  #服务器集群名字
          server   192.168.0.110:8001 weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。
          server   192.168.0.110:8002 weight=1;
    }
    server {
        listen       8088;#这个是Nginx监听的端口号
        server_name  localhost;#这个是服务器的名字    这两个加起来就是陪玩之后访问的地址    localhost:8088 使劲刷新就看到负载均衡的效果了

        location / {
            proxy_pass         http://a.com;    #这个和第一行的对应
            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   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

  上面的配置直接复制吧,配置文件中的server 这一块覆盖掉就行了

  在强调一下

    upstream  a.com {  #服务器集群名字
          server   192.168.0.110:8001 weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。
          server   192.168.0.110:8002 weight=1;
    }  

  这个配置初始的时候是没有的,

  server 这个就是需要负载均衡的服务器的地址,我的网站是部署在我电脑上的虚拟机里面的,这个IP地址是虚拟机的IP地址

  如果没用虚拟机的话,就用本地的地址也行

  

  配置完成

启动

  配置其实很简单,我启动这一块把我搞的不要不要的,我启动的时候遇到问题了,但是就是找不到问题在哪

  启动有两个前提,第一你配置的那个端口号,不能被别的进程给霸占了,第二,你的配置文件不能有问题。

  因为我的配置都是我复制的,所以我没有细看,结果  绑定服务器的时候我在 服务器的地址前面多了一个#

  然后死活起不来,问题是还不报错

  cmd 找到解压后的文件

  

  就 直接nginx.exe 就能起来

  我在网上看的都是用 start nginx 用这个方法启动

  start nginx 也能启动但是如果出现问题了,不会显示出来,所以我就蛋疼为啥就是不出来呢。

  上面的错误是我的80被占用了

  要是没有问题的话现在就应该起来了

  

  然后访问  http://localhost:8088/ 使劲刷新 就能看到效果了

  反正我的是好了

时间: 2024-10-12 06:08:19

使用Nginx在自己的电脑上实现负载均衡的相关文章

Nginx服务器的安装与反向代理负载均衡

Nginx服务器 一:什么是Nginx? 我们生活的世界中,有的时候需要上网.我们可以浏览很多很多的网页,这些网页都是由一系列的程序组成,但是我们是否想过,这些程序存储在什么地方呢?没错,这些程序都是存储在一种名叫服务器的硬件上,比如我们的电脑也是一种服务器,只不过我们的个人电脑作为服务器的话性能会比较低.我们的网页程序存储在服务器硬件上,是否可以随意存储呢?不是的,我们需要在服务器硬件的操作系统中搭建一个服务器软件,那么这样,有服务器软件跟服务器硬件配合,才形成一个完整的服务器.服务器软件有非

Nginx的安装以及反向代理和负载均衡的配置

环境说明 由于我使用的是windows系统,所以我用虚拟机虚拟出来了3台linux系统 虚拟机一:192.168.1.20 (Nginx反向代理和负载均衡服务器,系统kali linux) 虚拟机二:192.168.1.19 (node服务器一,系统ubuntu 17.10) 虚拟机三:192.168.1.22(node服务器二,系统ubuntu 17.10) 环境需要的程序 git Node Nginx pm2 首先环境的搭建,由于这三台电脑都是我刚刚虚拟出来的,所以什么环境都没有! 虚拟机一

Nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第三部分

Nginx反向代理.动静分离.负载均衡及rewrite隐藏路径详解 (Nginx Apache MySQL Redis) 楓城浪子原创,转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 三.Nginx动静分离及负载均衡 3.1 Nginx安装 请参考:https://fengchenglangzi.000webhostapp.com/?p=511 亦

Nginx+keepalived做双机热备加tomcat负载均衡

Nginx+keepalived做双机热备加tomcat负载均衡 环境说明: nginx1:192.168.2.47 nginx2:192.168.2.48 tomcat1:192.168.2.49 tomcat2:192.168.2.50 vip:192.168.2.51 一.Nginx配置1.安装Nginx所需pcre库wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.gz tar -zxvf pc

Nginx——事件驱动机制(惊群问题,负载均衡)

事件框架处理流程 每个worker子进程都在ngx_worker_process_cycle方法中循环处理事件,处理分发事件则在ngx_worker_process_cycle方法中调用ngx_process_events_and_timers方法,循环调用该方法就是 在处理所有事件,这正是事件驱动机制的核心.该方法既会处理普通的网络事件,也会处理定时器事件. ngx_process_events_and_timers方法中核心操作主要有以下3个: 1)  调用所使用事件驱动模块实现的proce

Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理

Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理 通常我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做.至于4层负载均衡和7层负载均衡的区别,可以参考:http://www.cnblogs.com/kevingrace/p/6137881.html.然而Nginx从1.9.0版本开始,新增加了一个stream模块,用来实现四层协

单节点nginx为两台apache服务器提供负载均衡

需求:本实验为单节点nginx为两台apache服务器提供负载均衡,所有配置为最简单 1.初始化3台测试server,该关的关了 [[email protected] ~]# vim /etc/hosts 192.168.1.101 ng-master 192.168.1.161 web1 192.168.1.162 web2 [[email protected] ~]# yum clean all [[email protected] ~]# systemctl stop firewalld.

nginx和tomcat实现反向代理、负载均衡和session共享

这类的文章非常多,nginx和tomcat实现反向代理.负载均衡实现非常easy,能够參照http://blog.csdn.net/liuzhigang1237/article/details/8880752 但tomcat借助memcache实现session共享非常麻烦(和jar的版本号有关),这里做个记录. 我的tomcat的版本号是7.0.53,须要加入的jar是: couchbase-client-1.2.0 javolution-5.4.3.1 Memcached-Java-Clie

云计算之路-阿里云上:负载均衡从七层换成四层后的意外发现

阿里云的负载均衡产品叫SLB,七层负载均衡用的是LVS+Tengine,四层负载均衡用的是LVS. 昨天七层SLB出现了波动,我们后来改用了四层SLB. 使用后意外地发现,用户请求的响应内容TCP出包走的是云服务器的公网网卡. 之前用七层SLB时流量走的都是内网网卡,再加上RDS.Memcached也走的是内网网卡,于是网络负载都集中在一块内网网卡,内网网卡IO成为了瓶颈.而公网网卡却闲置着,我们之前也曾想过要是将一部分网络负载让公网网卡分担该多好啊. 我们用物理服务器的时候,会把Web服务器上