`

实践NGINX Load Balancing – HTTP Load Balancer

阅读更多

nginx是一款由俄罗斯人开发的web服务器/反向代理服务器/email服务器/负载均衡器软件,并在一个BSD-like 协议下发行,目前比较流行,最初近适用于Linux平台,目前已有Windows平台版本,优点是资源消耗少、并发处理能力强。

具体的使用的场景参考:Nginx官方参考文档。

具体平台版本见:http://nginx.org/packages/

 

实验环境:

1,Win7(192.168.84.1)加虚拟机CentOS7(192.168.84.128)

2,Win7下tomcat:apache-tomcat-7.0.68,CentOS7下tomcat:apache-tomcat-7.0.70

3,CentOS7中安装Nginx版本:nginx-1.10.1

 

CentOS7中安装nginx-1.10.1:

我下载的是源码编译版:nginx-1.10.1.tar.gz,编译安装稳定版需要安装好gcc、gcc-c++、openssl-devel、pcre-devel、zlib-devel,并下载pcre-devel、zlib-devel的源码。

1,解压nginx源码后的目录下,执行:

 

./configure \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-zlib=/home/merrick/zlib-1.2.8 \
--with-pcre=/home/merrick/pcre-8.38 \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ 

 

</pre><p></p><pre>

2,编译,安装:

 

 

[root@localhost nginx-1.10.1]# make & make install


3,启动,停止:

 

启动:/usr/local/nginx/sbin/nginx

停止:查到nginx主进程号后(master进程),执行kill -QUIT 主进程号

 

 

配置负载均衡:

1,配置/etc/nginx/nginx.conf(参考https://www.nginx.com/resources/admin-guide/load-balancer/):

 

worker_processes  1;

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;

    #gzip  on;
    
    upstream backend{
	
	server 192.168.84.128:8080 weight=5 max_fails=2 fail_timeout=600s;
	server 192.168.84.1:8080 weight=4 max_fails=2 fail_timeout=600s;

    }	


    server {
        listen 192.168.84.128:80;
        server_name  localhost;

        #charset koi8-r;
	access_log  logs/host.access.log  main;

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

	location /NginxStatus {
		stub_status on;
		access_log off;
		
	}
	

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


2,启动win7下和centos7下的tomcat

 

3,在win7下访问centos7的80主页测试几次:

可以看到访问nginx这个代理服务器时会随机转到两个web主页:



 

 

 

 

分享到:
评论

相关推荐

    Complete-NGINX-Cookbook-2019.pdf

    because of its capabilities as a load balancer and reverse proxy server for HTTP and other network protocols. The 2019 edition of this popular cookbook provides more than 80 practical recipes to help ...

    nginx 官方cookbook

    Part I will focus mostly on the load-balancing aspect and the advanced features around load balancing, as well as some information around HTTP caching. This book will touch on NGINX Plus, the ...

    load-balancer-solution-with-nginx-and-ss-tls:使用Nginx和SSLTLS的负载均衡器解决方案

    使用Nginx和SSL / TLS的负载均衡器解决方案到目前为止,您已经了解了Load Balancing的用途,并已使用Apache配置了LB解决方案,但是DevOps工程师必须是多才多艺的专业人员,并且必须了解同一问题的不同替代解决方案。...

    docker-nginx-nodejs:Docker Nginx + Node.js

    docker-nginx-nodejs Docker Nginx + Node.js

    云原生应用中的网络流量管理.pdf

    **Kubernetes Service**是集群内部的网络组件,提供ClusterIP(虚拟IP,仅在集群内部可达)、LoadBalancer(自动创建公共ELB)和NodePort(在每个节点上绑定相同端口)三种类型,以满足不同场景下的网络需求。...

    compose_autoLoadBalancer:docker compose + consul 发现工具

    脚步docker-compose 构建码头工人组成规模docker-compose scale web=4 打开 检查主机名,它会在每次请求时更改领事仪表板资源Docker + 领事 ...balancing-docker-containers-with-nginx-and-consul-template/在 compose...

    负载均衡方法实战

    在部署负载均衡时,可以选择硬件负载均衡器,如F5 BIG-IP,或者软件解决方案,如Nginx、HAProxy和Amazon Elastic Load Balancer(ELB)。软件负载均衡器通常更具成本效益且易于扩展。 在《负载均衡实战.doc》文档中...

    awesome-load-balancing:精选的负载均衡器和代理列表。 软件,库,帖子,讲座

    出色的负载平衡 专案 云 通过确保可扩展性,性能和安全性来实现任何应用程序的容错能力。 -为您的应用程序提供高可用性和网络性能。 -您可以通过将流量从运行状况不佳的原始服务器上移开并将其动态分配到最可用和...

    负载均衡集群项目服务端代码

    9. **云服务集成**:现代负载均衡解决方案经常与云服务提供商集成,如AWS的ELB(Elastic Load Balancer)、Google Cloud的Cloud Load Balancing或Azure的Application Gateway。 10. **安全与性能优化**:负载均衡器...

    实用负载均衡技术:网站性能优化攻略

    负载均衡(Load Balancing)是指将网络流量分发到多个服务器上,从而提高系统的可用性、扩展性和性能。它能够有效地解决单个服务器处理能力有限的问题,避免因某一服务器故障导致的服务中断,同时还能提高资源利用率...

    tomcat集群部署文档

    - **负载均衡器(Load Balancer)**:负责将客户端请求分发到各个节点,确保工作负载均匀分布。 - **会话复制(Session Replication)**:当用户在集群中的一个节点上创建会话后,会话信息需要在所有节点间同步,...

    实用负载均衡技术:网站性能优化攻略(alin书签).pdf

    3. 云服务负载均衡:利用云服务提供商提供的负载均衡服务,如AWS的Elastic Load Balancing (ELB)、Microsoft Azure Load Balancer等。这种方式可以很容易地根据需要进行扩展,并且通常按使用量计费。 在负载均衡的...

    DLB

    【标题】"DLB"可能是指“分布式负载均衡”(Distributed Load Balancing)的缩写,这是一个在大型网络系统中广泛使用的概念,用于优化资源分配,提高服务可用性和响应速度。在Java开发中,DLB是实现高并发、高可用...

    Docker - Clustering Payara Server in Docker

    For Payara, you can use a software load balancer like HAProxy or Nginx. ##### Test Application To test the cluster, deploy a simple application across all nodes. This can be done using deployment ...

Global site tag (gtag.js) - Google Analytics