RHEL6.4 搭建Nginx反向代理服务器

实验需求:使用nginx搭建反向代理服务器,把用户的请求分发给后端的web服务器组192.168.100.1和192.168.100.2

内网web服务器192.168.100.1          内网接口eth0(192.168.1.254)

----------- nginx反向代理服务器------------ 公网客户端1.1.1.1

内网web服务器192.168.100.2           公网接口eth1(1.1.1.254)

一.部署内网的网站服务器192.168.100.1

可以使用apache或nginx等软件搭建,此实验采用nginx搭建

1.安装软件并编辑配置文件

# vim /usr/local/nginx/conf/nginx.conf

http {

……

server {

listen       80;

server_name  www.jinjianjun.com

location / {

root   html;

index  index.html index.htm;

}

}

……

2.制作测试网页文件

# echo 192.168.100.1 > /usr/local/nginx/html/index.html

3.启动服务

# cd /usr/local/nginx/sbin

# ./nginx

二.部署内网的网站服务器192.168.100.2

1.安装软件并编辑配置文件

# vim /usr/local/nginx/conf/nginx.conf

http {

……

server {

listen       80;

server_name  www.jinjianjun.com

location / {

root   html;

index  index.html index.htm;

}

}

……

2.制作测试网页文件

# echo 192.168.100.2 > /usr/local/nginx/html/index.html  //为了测试效果,2台服务器上创建不同的网页

3.启动服务

# cd /usr/local/nginx/sbin

# ./nginx

三.配置nginx反向代理服务器

1.安装软件并编辑配置文件

# vim /usr/local/nginx/conf/nginx.conf

……

http {

……

upstream sergrp {             //定义源服务器组

server 192.168.100.1:80;

server 192.168.100.2:80;

}

server {

listen       80;

server_name  www.jinjianjun.com;   //web主机名

location / {

root   html;

index  index.html index.htm;

proxy_pass http://sergrp;      //调用服务器组

……

2.释放80端口并启动服务

# service httpd stop              //本服务器若已启动web服务则关闭,或将其开启在别的端口

# chkconfig httpd off

# cd /usr/local/nginx/sbin

# ./nginx

三.客户端1.1.1.1测试

# vim /etc/hosts           //通过DNS解析或在hosts文件里指定

1.1.1.254 www.jinjianjun.com

# elinks -dump http://www.jinjianjun.com

192.168.100.2

# elinks -dump http://www.jinjianjun.com

192.168.100.1

# elinks -dump http://www.jinjianjun.com

192.168.100.2

# elinks -dump http://www.jinjianjun.com

192.168.100.1

测试结果:nginx默认采用轮询的分发策略,默认不缓存数据。

四.nginx代理服务器分发请求的方式

轮询(默认的):每个请求按时间顺序逐一分配到不同的后端服务器 ,如果后断服务器down掉能自动剔除

Weight :指定轮询几率,权重和访问比率成正比 通常用于后端服务器性能不同的情况默认值为1

ip_hash:每个请求按访问ip的hash结果分配,这样可以让每个访客固定访问一个后端服务器,可以解决session的问题

Fair:按后端服务器的响应时间来分配请求,响应时间短的优先分配 (nignx默认不支持此方式,需要安装第三方软件)

五.设置后端服务器的状态

down :表示当前的server暂时不参与负载

max_fails :允许请求失败的次数,默认为1,当超过最大次数时,返回proxy_next_upstream模块定义的错误

fail_timeout :max_fails次失败后,暂停提供服务的时间

backup :其他所有的非backup机器down或者忙的时候 请求会发给backup机器 所有这台机器压力会最轻

六.设置服务器组状态

upstream   sergrp  {

#ip_hash;

#server 192.168.100.1:80  weight=2;

server 192.168.100.2:80   down;

server 192.168.100.3:80;

server 192.168.100.4:80   backup;

server 192.168.100.5:80   max_fails=2   fail_timeout=30;

}

RHEL6.4 搭建Nginx反向代理服务器

时间: 2024-08-24 12:35:18

RHEL6.4 搭建Nginx反向代理服务器的相关文章

CentOS7下搭建nginx反向代理服务器使得外网可以二级域名访问内网应用

创建nginx的本地yum源 [[email protected] ~]# yum list |grep nginx No package nginx available. [[email protected] ~]# //给跪了,什么鬼,怎么没有nginx的rpm?算了,直接自己手动配一个官网repo吧 [[email protected] ~]# //访问nginx官网,进入dowload页面,翻到底部的Pre-Build Package,选stable version ----------

搭建Nginx 反向代理服务器

一.什么是反向代理: 反向代理(Reverse Proxy)是指把Nginx服务器放在互联网接口,负责接收处理用户客户端的请求,然后把请求发往后端的Web server上,返回给用户的数据也要先经过Nginx服务器在发给用户,Nginx可以实现负载均衡和缓存的功能,从而减轻服务器的访问压力. 二.示例图: 三.Nginx服务器配置: 编译安装: 1.tar xvf nginx-1.4.7.tar.gz 2.cd nginx-1.4.7 3../configure   --prefix=/usr

搭建nginx反向代理用做内网域名转发

基于域名的7层转发的实现(NAT+反向代理) 在实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使用过程中非常的痛苦(记忆困难.一一对应关系也没有规律.访问的时候还得加端口),这个痛苦的问题用表格的形式来形象的描述如下: Public IP Public Port Number Internal IP Internal Port Number Note 1.1.1.1 80 192.168.1.10

搭建Nginx反向代理做内网域名转发

由于公司内网有多台服务器的 http 服务要映射到公司外网静态 IP,如果用路由的端口映射来做,就只能一台内网服务器的 80 端口映射到外网 80 端口,其他服务器的 80 端口只能映射到外网的非 80 端口.非 80 端口的映射在访问的时候要域名加上端口,比较麻烦. 我们可以在内网搭建一个Nginx反向代理服务器,将Nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到Nginx反向代理服务器,利用Nginx反向代理将不同域名的请求转发到内网不

centos7.4 搭建nginx反向缓存代理

nginx可以实现基于硬盘缓存的反向代理服务通过proxy_cache和fastcgi_cache两个功能模块完成配置 ----- 本例:nginx反向代理服务器192.168.80.81web服务器192.168.80.82win7客户机 192.168.80.79 -----### web服务器192.168.80.82 配置:安装简单的httpd,提供web服务即可 -----### nginx反向代理服务器192.168.80.81配置:1.上传反向代理插件.软件和解压:tar xzvf

在Linux系统下使用Docker以及Weave搭建Nginx反向代理

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

简单聊聊不可或缺的Nginx反向代理服务器--实现负载均衡【上篇】

今天又是新的一周,我养足了精神去对待新一周的工作,但是今天到公司发现还是有一点空闲时间的,所以就想与之前接触过的Nginx再交往得更深一点儿. 什么是Nginx: Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.官方测试nginx能够支撑5万并发链接,但是实际生产环境能到2-3万并发连接数(只是听说),并且cpu.内存等资源消耗缺非常低,运行非常稳定. Nginx在实际生产中的应用场景: 上面已经说了,Nginx是一款高性能的http服务器,所以

Nginx 反向代理服务器

一.------------------------------理论------------------------------ Nginx是什么? Nginx是反向代理服务器. 首先我们来看看什么是代理服务器,通常说的代理 服务器就是正向代理服务器,代理服务器一般是指客户端通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用于客户端. 一个完整的代理请求过程为:客户端首先与代理服务器创建连接,然后根据代理服务器所用的代理协议,请求对目标服务器创建连接.或者获得目标服务器的指定资源.We