nginx 反向代理和服务器组状态

实现NGINX的代理(七层负载均衡);

拓扑图:

web01            web02

|192.168.1.20     |192.168.1.21

-----------------------------

|192.168.1.254

nginx(反向代理);

|1.1.1.254

|

client(1.1.1.1);

要求:client1.1.1.1 可以通过反向代理1.1.1.254 访问到内网的两台web服务;web01  性能比较好,权值为二;

**由于是资源有限,用IP虚拟主机实现两台web;(web服务器apache);

实现过程:

1.首先配置出两台web服务器;

[[email protected] local]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:07:6D:A0

inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe07:6da0/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:30 errors:0 dropped:0 overruns:0 frame:0

TX packets:31 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:4318 (4.2 KiB)  TX bytes:5539 (5.4 KiB)

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:07:6D:A0

inet addr:192.168.1.21  Bcast:192.168.255.247  Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

配置虚拟主机:

[[email protected] conf.d]# vim VirtualHost.conf

<VirtualHost 192.168.1.20:80>

DocumentRoot /www

ServerName www.bxn.com

CustomLog logs/www20-access_log common

</VirtualHost>

<VirtualHost 192.168.1.21:80>

DocumentRoot /bbs

ServerName bbs.bxn.com

CustomLog logs/bbs21-access_log common

</VirtualHost>

[[email protected] bbs]# /etc/init.d/httpd restart

[[email protected] bbs]# elinks --dump 192.168.1.20

192.168.1.20:www

[[email protected] bbs]# elinks --dump 192.168.1.21

192.168.1.21:bbs

web服务配置完毕;

2.配置反向代理:

安装NGINX过程:源码安装:简略写;

groupadd nginx

useradd -M -g nginx nginx

yum install -y pcre pcre-devel

yum install -y openssl openssl-devel

./configure --prefix=/usr/local/nginx  --user=nginx --group=nginx --with-http_stub_status_module

make && make install

反向代理配置:

[[email protected] nginx]# cd /usr/local/nginx/conf/

[[email protected] conf]# grep -v ‘#\|^$‘ nginx.conf >nginx2.conf

[[email protected] conf]# vim nginx2.conf

worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

upstream webgrp {

server 192.168.1.20 weight=2;

server 192.168.1.10 weight=1;

}

//upstream  是关键;

server {

listen       80;

server_name  localhost;

location / {

root   html;

index  index.html index.htm;

proxy_pass http://webgrp//还有这;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

}

[[email protected] sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx2.conf

[[email protected] conf]# netstat -tulnp |grep nginx

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      2590/nginx

3.在client  1.1.1.1 测试;

elinks 1.1.1.254[[email protected] ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:19:1B:0D

inet addr:1.1.1.1  Bcast:1.1.1.255  Mask:255.255.255.0

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.21:bbs

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.21:bbs

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

在client可以看到已经测试成功;

*知识点:

服务器组的连接状态: 决定连接请求分发方式:

轮询:nginx默认的连接请求分发方式;

ip_hash:同一客户端连接时,只连接同一个服务器;(解决了session问题);

weight :权重:按照权重比例分发请求;

fair:谁连接请求处理的快,发给谁,默认是不支持的(需要安装第三方软件);

使用IP_HASH方式:

配置:

upstream webgrp {

ip_hash;

server 192.168.1.20 ;

server 192.168.1.21 ;

}

测试:

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

[[email protected] ~]# elinks --dump 1.1.1.254

192.168.1.20:www

**可以看到都每次访问的都是同一个web服务器;

时间: 2025-02-01 14:59:32

nginx 反向代理和服务器组状态的相关文章

nginx反向代理-后端服务器组设置

nginx服务器的反向代理时其最常用的重要功能之一,在实际工作中应用广泛,涉及的配置指令也比较多.下面会尽量详细地介绍对应的指令,及其使用状态. 反向代理一般是互联网需要向内网拉取资源,比如访问一个web网站时,互联网应用通过一个代理服务器到后面真实的web服务器拉取应用所需的数据. nginx服务器反向代理用到的指令如果没有特别的说明,原则上可以出现在nginx配置文件的http块,server块和location块中,但是同正向代理一样,一般是搭建在nginx服务器中单独配置一个server

nginx反向代理缓存服务器的构建

Nginx反向代理缓存服务器构建 一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理:与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就

nginx 反向代理apache服务器 配置java与PHP共存环境

listen 80; listen 443; ssl on; ssl_certificate /passport.crt; ssl_certificate_key /passport.key; ssl_session_timeout 5m; server_name localhost; index index.html index.htm index.php; root /www/; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/ph

Nginx反向代理缓存服务器搭建

Nginx反向代理 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理.

nginx 反向代理缓存服务器构建

代理服务可简单的分为正向代理和反向代理:   正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理. 反向代理服务器

nginx反向代理缓存服务器构建

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网

FastDFS + Nginx 反向代理缓存 安装与配置

FastDFS + Nginx 反向代理缓存 安装与配置 作者:斯巴达克斯 时间:March 26, 2015 分类:存储 操作系统 CentOS release 6.5 (Final) 64 nginx相关软件 nginx-1.4.7 下载地址: http://nginx.org/en/download.html#nginx清除缓存模块 ngx_cache_purge-2.1 http://labs.frickle.com/nginx_ngx_cache_purge/pcre-8.36 ftp

Nginx构建反向代理缓存服务器

防伪码:曾经沧海难为水,除却巫山不是云. 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上,然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端:  反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提

Nginx反向代理、缓存、负载均衡服务器构建

代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上,然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理. 反向代理服务器接受来