首页 > 其他分享 >采用软件负载均衡器实现web服务器集群(

采用软件负载均衡器实现web服务器集群(

时间:2023-06-11 14:06:30浏览次数:55  
标签:web 负载 IIS server nginx 均衡器 服务器 10.60


我用nginx实现网站负载均衡测试的例子,windows下IIS做负载实测.

 

 

如果你的网站访问量(pv)越来越高,一台服务器已经没有办法承受流量压力,那就增多几台WEB服务器来做负载吧。

做网站负载可以买硬件设备来实现,我们公司用的是F5,不过价格就几十万到上百万,太贵了,

目前好多门户网站与大访问量的网站都在使用nginx做为HTTP服务器,所以nginx是非常优秀的,下面我亲手做这个负载测试吧。

软/硬件环境:

 

(2台服务器)
第一台:
 CPU:Inter(R) 酷睿 i5 CPU 2.26GHz

 内存:2G
 系统:windows 7
 IIS: IIS 7
 nginx:nginx/Windows-0.8.22
 IP:10.60.44.126
 环境:本地
第二台:
 CPU:Inter(R) 酷睿 i3 CPU 2.13GHz

 内存:2G
 系统:windows Server 2003
 IIS: IIS 6
 IP:10.60.44.127
 环境:远程

 

注意:
 本次测试,软件nginx放在本地(10.60.44.126),也就是说放在域名绑定的那台服务器,这台服务器的IIS不能使用80端口,因为等下nginx软件要使用80这个端口。
下载nginx的地址如下:
nginx下载:http://nginx.net/ 本次测试使用的版本下载:nginx/Windows-0.8.22

下载解压到C:,把目录名改成nginx

 

实践步骤:

第一:

        在本地(10.60.44.126)这台服务器IIS创建一个网站,使用端口为808,如下图:

     

        IIS 网站绑定设置图

第二:

       在远程10.60.44.127的IIS创建一个网站,使用端口为808,如下图:

 

远程IIS绑定设置图

     注意:第一步和第二步绑定相同的网站程序!

第三:

好了,以上已经设置好两台服务器的IIS了,下面配置nginx软件来实现网站负载均衡器,打开如下文件:

C:\nginx\conf\nginx.conf

1、找到内容server {

在这上面加入如下内容:

upstream  chenlu.com { 
  server   10.60.44.126:808;
  server   10.60.44.127:808;
    }

(这是负载切换使用的服务器网站IP)

2、找到location / {
            root   html;
            index  index.html index.htm;
        }

把内容更改如下:

location / {
            proxy_pass http://chenlu.com/;
            proxy_redirect default;
        }

3、找到server {
        listen       80;
        server_name  localhost;

把内容改成如下:

server {
        listen       80;
        server_name  10.60.44.126;

(这是监听访问域名绑定那台服务器80端口的请求)

好,在这里就这么简单配置好了,下面看下以上3步配置的图:

 

采用软件负载均衡器实现web服务器集群(_负载均衡

 

负载均衡器配置图

第四:

      都配置好了,下面启动nginx这软件

      进入命令提示符CMD,进入c:\nginx>,输入nginx命令,如下图:

 

 

采用软件负载均衡器实现web服务器集群(_nginx_02

启动nginx

这时候,系统进程有两个nginx.exe进程,如下图:

采用软件负载均衡器实现web服务器集群(_server_03

 

系统nginx进程

停止nginx运行输入nginx -s stop 即可

 

第五:

       经过以上的配置,现在我们看下负载效果:

10.60.44.126)这服务器打开IE,输入:http://10.60.44.126/

       第一次打开网站的结果图:

 

采用软件负载均衡器实现web服务器集群(_nginx_04

第一次运行网站图

        再刷新一下网页,出现的结果图:

 

采用软件负载均衡器实现web服务器集群(_web服务_05

再次访问网站图

很好,网站已经负载成功。

经过这次测试,实现网站负载再也不是难事了。也不用购买非常贵的硬件设备了。网上介绍说nginx软件可以处理并发上万,所以绝对是个非常不错的选择。

如果网站访问量非常大,可以专门用一台服务器跑nginx,其它服务器跑网站程序(几台服务器的程序都是一样的),这样负载就没有太大问题,如果再不行,把网站一些栏目做一个2级域名,2级域名同样做负载,这样更厉害了吧。

nginx软件在linux上跑性能比在windows上跑要好,所以做负载可以用linux跑nginx,.net开发的网站放到windows服务器IIS上。

注意:

1找到本地机器的 \WINDOWS\system32\drivers\etc,修改hosts文件,添加10.60.44.126   www.chenlulouis123456.com   注释掉#host

2 找到远程机器的 \WINDOWS\system32\drivers\etc,修改hosts文件 10.60.44.127  www.chenlulouis123456.com

3.

upstream  chenlu.com 
     {  
         server   10.60.44.126:808;
         server   10.60.44.127:808;
     }
     server {
         listen       80;
         server_name  http://www.chenlu123456.com/;        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
             proxy_pass  http://chenlu.com/;
             proxy_redirect  default;
         }

进过以上步骤,就可以使本地和远程机器通过域名访问做实验,避免实际域名绑定。

标签:web,负载,IIS,server,nginx,均衡器,服务器,10.60
From: https://blog.51cto.com/u_130277/6457560

相关文章

  • SYCTF2023 WEB writeup
    CarelessPy一进来就是个任意文件下载功能,不过做了些限制,这题从头到尾都在骂杂鱼。。。(虽然我确实是(bushi)查看页面源代码,给了个/eval/login两个路由,/eval是个目录遍历,/login尝试登录无果,有session,应该需要伪造session,利用/eval查看app下的pyc文件,然后down下载在线找个pyc......
  • Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
    我们知道两台Linux服务器机器之间如果使用ssh命令登录或scp/rsync命令传输文件每一次都需要输入用户名相对应的密码,如果要免密码,则需要对两台Linux服务器机器之间进行SSH互信。一.SSH介绍1.SSH互信原理虽然这是废话,也希望大家了解一下。SSH(SecureShell)是一种安全的传输协议,它可以......
  • 《CentOS系统管理与服务器配置》pdf电子书免费下载
    本书是职业教育“十三五”改革创新规划教材,依据高职高专网络技术专业人才培养方案的要求,并参照相关的国家职业技能标准编写而成。本书以基于RedHat Linux 提供的可自由使用源代码的企业级Linux发行版本CentOS 6操作系统为平台,选取面向工作岗位的项目案例,采用项目导向、任务驱......
  • Linux系统下配置Nginx服务器
    Nginx是一个高性能的开源HTTP和反向代理服务器,也可以作为电子邮件(SMTP/POP3/IMAP)代理服务器、负载均衡器和HTTP缓存服务器,使用在安装Nginx之前,需要安装一些其他软件依赖,如gcc、pcre、zlib和openssl。1、yum installgcc-ygcc是GNUCompilerCollection的简称,包含编译器和其他编......
  • web1
    一、实验目的通过设计一个个人主页网站,学习常用的HTML标记,学习使用CSS对页面进行美化,掌握JavaScript的语法和常用的浏览器对象,初步学会使用Eclipse创建网站和编辑网页的方法。二、实验内容和要求1) 自己设计网页内容,做一张展示自己网页。要求展示的主要内容有:基本资料、学习经......
  • web2
    实验项目名称:实验二  服务器端简单程序设计 一、实验目的通过一个小型网站的开发,掌握JSP基础知识,加深对session,request,response,cookie等对象的理解,掌握其使用方法,进一步深入掌握HTML、CSS和JavaScript等知识。二、实验内容和基本要求1)编写index.jsp文件,展示某一类物品或......
  • web3
    实验项目名称:实验三  Web数据库程序设计 一、实验目的通过使用JSP技术设计一个简单的数据库管理系统,了解展示页面和编辑页面的区别,掌握Web服务器与MySQL数据库的连接和数据库操作的方法,掌握使用Java语言编写JSP文件的方法。二、实验内容和基本要求从以下列举的四个数据库......
  • web4
    实验项目名称:实验四  Web综合应用程序设计 一、实验目的通过使用JavaMVC模式设计简单的数据库管理系统,巩固使用JDBC技术访问数据库的方法,学习使用Java语言对服务器端进行编程,深入理解MVC网站设计模式的基本概念和框架结构。二、实验内容和基本要求从以下列举的四个数据库......
  • 【愚公系列】2023年06月 攻防世界-Web(disabled_button)
    (文章目录)<hrstyle="border:solid;width:100px;height:1px;"color=#000000size=1">前言HTML中的disabled属性是一个布尔属性,用于禁用表单元素或按钮的交互性能,使其无法接收用户输入或点击等交互操作。具体来说,disabled属性被设置为true时,表单元素或按钮将无法响应用户的......
  • VS下TS前端与C#的WebApi后端配合实例
    如题。1、新建WebApi默认解决方案WebApi使用.netcore下框架默认的例子(WeatherForecast)以下代码为自动生成publicclassWeatherForecast{publicDateOnlyDate{get;set;}publicintTemperatureC{get;set;}publicintTemperatur......