CentOS中nginx负载均衡和反向代理的搭建

1: 修改centos命令行启动(减少内存占用):
vim /etc/inittab     id:5:initdefault:  --> 修改5为3 
若要界面启动使用 startx
2:安装jdk
1)解压:jdk-7u55-linux-i586.tar.gz
       [root@localhost jdk]# tar -zxvf jdk-7u55-linux-i586.tar.gz
2)复制:[root@localhost jdk]# cp -rf jdk1.7.0_55/ /usr/local/jdk
3)配置环境;[root@localhost bin]# vim /etc/profile
  最后面插入:export JAVA_HOME=/usr/local/jdk/jdk1.7.0_79
            export PATH=$JAVA_HOME/bin:$PATH
4)刷新配置文件:source /etc/profile

    验证:java   javac
3:安装tomcat
    1)解压:tar -zxvf
    2)授权:chmod u+x/usr/local/tomcats/tomcat1/apache-tomcat-7.0.47/bin
    3)启动:进入tomcat目录bin 目录后: ./startup.sh
    4)开放端口:vim  /etc/sysconfig/iptables
    5)关闭防火墙:chkconfig iptables off
    6)重启防火墙: service iptables restart
    7)修改端口号:vim conf/server.xml
    8)查看进程:ps aux | grep tomcat
4:安装nginx
    1)安装环境: 
              yum -y install gcc-c++
              yum -y install pcre pcre-devel
              yum -y install zlib zlib-devel
              yum -y install openssl openssl-devel

    2)解压:tar -zxvf nginx-1.8.0.tar.gz
    3)移动: mv  nginx-1.8.0 /usr/local/nginx/
    4)创建临时目录:var]# mkdir -p temp/nginx
    5)进入目录:cd nginx-1.8.0/ 
    6)修改参数:
            ./configure \
            --prefix=/usr/local/nginx \
            --pid-path=/var/run/nginx/nginx.pid \
            --lock-path=/var/lock/nginx.lock \
            --error-log-path=/var/log/nginx/error.log \
            --http-log-path=/var/log/nginx/access.log \
            --with-http_gzip_static_module \
            --http-client-body-temp-path=/var/temp/nginx/client \
            --http-proxy-temp-path=/var/temp/nginx/proxy \
            --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
            --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
            --http-scgi-temp-path=/var/temp/nginx/scgi

    7)编译安装:
        make
        make install

    8)启动: cd /usr/local/nginx/sbin/
         ./nginx
    9)查看进程:ps aux | grep nginx
    10)快速停止:./nginx -s stop
    11)完整停止:./nginx  -s quit  此方式停止步骤是待nginx进程处理任务完毕进行停止。推荐使用
    12)重启: ./nginx -s quit
            ./nginx 
    13)重新加载配置文件: ./nginx -s reload
5:配置虚拟主机:
    1、nginx支持的三种虚拟主机的配置:
            基于ip的虚拟主机
            基于域名的虚拟主机
            基于端口的虚拟主机

    2、nginx配置文件的结构: 每个service就是一个虚拟主机
......
            events{
                ......
            }

            http{
                .......
                server{
                    ......
                }

                server{
                    ......
                }
            }

    3、基于ip的虚拟主机配置:
        修改配置文件: vim /usr/local/nginx/nginx-1.8.0/conf/nginx.conf
 server{
                listen 80;
                server_name 192.168.31.88;

                location / {
                    root html;
                    index index.html index.htm;
                }
            }
    4、基于域名的虚拟主机配置:
        修改配置文件:vim /usr/local/nginx/nginx-1.8.0/conf/nginx.conf
server{
                listen 80;
                server_name www.nginxdns1.com;

                location / {
                    root html_dns1;
                    index index.html index.htm;
                }
            }

            server{
                listen 80;
                server_name www.nginxdns2.com;

                location / {
                    root html_dns2;
                    index index.html index.htm;
                }
            }

    5、基于端口的虚拟主机配置:
        修改配置文件:vim /usr/local/nginx/nginx-1.8.0/conf/nginx.conf

        监听端口:netstat -an | grep 80
           server{
                listen 88;
                server_name 192.168.31.88;

                location / {
                    root html_port1;
                    index index.html index.htm;
                }
            }

            server{
                listen 89;
                server_name 192.168.31.88;

                location / {
                    root html_port2;
                    index index.html index.htm;
                }
            }

6、nginx 反向代理:
修改hosts:# nginx反向代理环境测试
            192.168.31.88 www.nginxproxy1.com
            192.168.31.88 www.nginxproxy2.com

开启不同虚拟机中的两台tomcat:192.168.31.88:8080 和 192.168.31.89:8081
修改配置文件:
            #代理tomcat1服务器
            upstream  tomcat_server1{
                server  192.168.31.89:8081;
            }

            #代理tomcat2服务器
            upstream tomcat_server2{
                server 192.168.31.88:8080;
            }

            #配置虚拟主机:
            server{
                listen 80;
                server_name www.nginxproxy1.com;

                location / {
                    #root html_port1;

                    proxy_pass http://tomcat_server1;
                    index index.html index.htm;
                }
            }

            server{
                listen 80;
                server_name www.nginxproxy2.com;

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

7、nginx 负载均衡:
    修改hosts :# nginx负载均衡环境测试
                 192.168.31.88 www.nginxbalance.com

    开启不同虚拟机中的两台tomcat:192.168.31.88:8080 和 192.168.31.89:8081
    修改配置文件:
            #代理tomcat2服务器
            upstream tomcat_server_pool{
                server 192.168.31.88:8080 weight=1;
                server 192.168.31.89:8081 weight=1;
            }

            #配置虚拟主机:
            server{
                listen 80;
                server_name www.nginxbalance.com;

                location / {
                    #root html_port1;

                    proxy_pass http://tomcat_server_pool;
                    index index.html index.htm;
                }
            }

hosts文件配置:

1:nginx基于域名环境测试
192.168.31.88 www.nginxdns1.com
192.168.31.88 www.nginxdns2.com

2:nginx反向代理环境测试
192.168.31.88 www.nginxproxy1.com
192.168.31.88 www.nginxproxy2.com

3:nginx负载均衡环境测试
192.168.31.88 www.nginxbalance.com

时间: 2024-07-30 13:40:47

CentOS中nginx负载均衡和反向代理的搭建的相关文章

负载均衡与反向代理的区别

问题描述 负载均衡与反向代理的区别 反向代理是不是就是负载均衡+本地缓存?是不是反向代理就能完全取代负载均衡? 解决方案 反向代理代理的是服务器.是从客户端连接的角度来看的.对于客户端来说,它看不到后面的真正的应用服务器 而负载均衡是前段进行资源负载分配调度,让多台相同功能的服务器实现尽可能类似的负载.从而最大化效率 两者目的不一样,但是最终实现有点相同 解决方案二: 反向代理顾名思义就是代理. 一般的代理是,你上网的时候,你请求网页不直接和网站通讯,而是发给代理服务器,代理服务器和网站通讯,获

Nginx配置负载均衡及反向代理

简单介绍: 1.Nginx优点 Nginx 负均衡实现比较简单,可配置性很强,可以按URL做负载均衡,默认对后端有健康检查的能力.后端机器少的情况下(少于10台)负载均衡能力表现好.其优点主要有: 1)功能强大,支持高并发连接,内存消耗少:官方测试能够支撑5万并发连接,在实际生产环境中跑到2-3 万并发连接数,且在3万并发连接下,开启的10个Nginx 进程才消耗150M内存(15M*10=150M). 2)成本低廉:Nginx 为开源软件,免费使用. 3)Nginx 工作在网络的7 层,所以它

详解Nginx HTTP负载均衡和反向代理配置_nginx

当前大并发的网站基本都采用了Nginx来做代理服务器,并且做缓存,来扛住大并发.先前也用nginx配置过简单的代理,今天有时间把整合过程拿出来和大家分享,不过其中大部分也是网上找来的资源. nginx完整的反向代理代码如下所示  : [root@data conf]# vim nginx.conf user www www; worker_processes 10; error_log /var/log/nginx/nginx_error.log; pid logs/nginx.pid; wor

CentOS6中Nginx负载均衡及轮询分流负载均衡例子

方法一,nginx 轮询分流实现负载均衡 准备工作,3台服务器,或者开虚拟机吧!我就是开虚拟机实现的.     ip分别为:192.168.1.10  192.168.1.11  192.168.1.12   (环境安装了ngixn 没有做任何配置)     3台服务器环境最好一样,我是再vm里直接克隆出来的,环境绝对一样吧!不一样,我估计会遇到很多奇怪的问题,没试过.     192.168.1.10  作为  负载均衡服务器  (一会负载均衡就在这里台服务器做配置,另外2台不用做配置)   

理解web服务器和数据库的负载均衡以及反向代理_服务器其它

但是若该网站平均每秒的请求是200多次,那么问题就来了:这已经是最好的web服务器了,我该怎么办?同样的情景也适用于数据库.要解决这种问题,就需要了解"负载均衡"的原理了. web服务器如何做负载均衡 为web服务器做负载均衡适用的的较多的方式是DNS重定向和反向代理,其他的方式原理也是很类似. 我们多次ping一下百度,会发现回复的IP会有所不同,例如第一次的结果为: 复制代码 代码如下: 正在 Ping baidu.com [220.181.111.86] 具有 32 字节的数据:

Nginx负载均衡:分布式/热备Web Server的搭建

       Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:新浪.网易.腾讯等.                Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性,在高连接并发的情况下,Ng

基于CentOS 7配置Nginx负载均衡

Nginx负载均衡是Nginx的核心功能之一,工作在第七层.它是除了lvs,haproxy之外市面上较为流行的一种负载均衡软件.可以将客户端请求分流到跨多个计算资源(如计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器)的工作负载分布.负载均衡旨在优化资源使用,最大化吞吐量,最小化响应时间,并避免任何单一资源的过载.使用具有负载平衡的多个组件而不是单个组件可以通过冗余来提高可靠性和可用性.本文简要描述Nginx负载均衡的配置,供大家参考. 一.负载均衡upstream模块介绍 upstrea

Nginx负载均衡实战

Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势.与旧版本(<=2.2)的Apache不同,nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,所以并发服务能力更强.整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活. 在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高.同时Nginx在OpenBSD或FreeBSD操作系统上采用类

nginx负载均衡

今天我们来学习下有关nginx的负载均衡配置.nginx的负载均衡是通过nginx的upstream模块和proxy_pass反向代理来实现的. 说明:有三台服务器,前端的A服务器使用nginx进行负载均衡配置.后端是两台配置的相同服务器,以访问a.ilanni.com这个域名为例.结构图,如下: A服务器对外(公网)开放80端口,B.C服务器就是两台配置相同的服务器.B服务器开放8080端口,C服务器开放8090端口.当客户端访问a.ilanni.com域名时,A服务器根据nginx的upst