Nginx反向代理,Nginx的TCP/UDP调度器以及Nginx常见问题处理
nginx反向代理:
方案
使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.5和192.168.2.5,两台Web服务器IP地址分别为192.168.2.100和192.168.2.200。客户端测试主机IP地址为192.168.4.100。如图所示。

web1和web2简单的安装httpd开启服务作为后端的Web服务器,两台机需要关闭防火墙(httpd安装过程略)
nginx服务器修改配置文件,添加服务器池,实现反向代理(nginx安装过程略)
1)修改/usr/local/nginx/conf/nginx.conf配置文件
1)修改/usr/local/nginx/conf/nginx.conf配置文件
- [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
- .. ..
- http {
- .. ..
- #使用upstream定义后端服务器集群,集群名称任意(如webserver)
- #使用server定义集群中的具体服务器和端口
- upstream webserver {
- server 192.168.2.100:80; #web1服务器地址
- server 192.168.2.200:80; #web2服务器地址
- }
- .. ..
- server {
- listen 80;
- server_name localhost;
- location / {
- #通过proxy_pass将用户的请求转发给webserver集群
- proxy_pass http://webserver;
- }
- }
重启nginx,client(192.168.4.100)访问nginx代理服务器(192.168.4.5)地址,代理转到后端web服务器(192.168.2.100/192.168.2.200)
[root@client ~]# curl http://192.168.4.5
服务器集群池属性设置
weight可以设置后台服务器的权重,max_fails可以设置后台服务器的失败次数,fail_timeout可以设置后台服务器的失败超时时间。
upstream webserver {
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=30; #weight设置服务器权重值,默认值为1#max_fails设置最大失败次数
server 192.168.2.200 weight=2 max_fails=2 fail_timeout=30; #fail_timeout设置失败超时时间,单位为秒
server 192.168.2.101 down; #down标记服务器已关机,不参与集群调度
}
nginx TCP/UDP调度器
1、部署nginx服务器
编译安装必须要使用--with-stream参数开启4层代理模块。
- [root@proxy ~]# yum –y install gcc pcre-devel openssl-devel //安装依赖包
- [root@proxy ~]# tar -xf nginx-1.12.2.tar.gz
- [root@proxy ~]# cd nginx-1.12.2
- [root@proxy nginx-1.12.2]# ./configure \
- > --with-http_ssl_module //开启SSL加密功能
- > --with-stream //开启4层反向代理功能
- [root@proxy nginx-1.12.2]# make && make install //编译并安装
2、配置Nginx服务器,添加服务器地址池,实现TCP/UDP反向代理功能
1)修改/usr/local/nginx/conf/nginx.conf配置文件
- [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
- stream {
- upstream backend {
- server 192.168.2.100:22; //后端SSH服务器的IP和端口
- server 192.168.2.200:22;
- }
- server {
- listen 12345; //Nginx监听的端口
- proxy_connect_timeout 1s;
- proxy_timeout 3s;
- proxy_pass backend;
- }
- }
- http {
- .. ..
- }
Nginx反向代理,Nginx的TCP/UDP调度器以及Nginx常见问题处理的更多相关文章
- 二十.Nginx反向代理、Nginx的TCP/UDP调度器、Nginx常见问题处理
proxy client web1 web2 1.nginx反向代理 使用Nginx实现Web反向代理功能,实现如下功能: 后端Web服务器两台(web1 192.168.2.100 web2 ...
- nginx反向代理实现均衡负载及调度方法
http upstream配置参数: ngx_http_upstream_module模块将多个服务器定义成服务器组,而由proxy_pass, fastcgi_pass等指令进行引用 upstrea ...
- Nginx的TCP/UDP调度器
安装nginx [root@proxy ~]# yum –y install gcc pcre-devel openssl-devel //安装依赖包 [root@proxy ~]# .tar.gz ...
- 八、Nginx的TCP/UDP调度器
nginx 1.9后才可以调用其他应用 1.9前只能调用web 部署nginx服务器----配置----起服务.验证 部署nginx服务器: [root@proxy ~]# yum –y instal ...
- iperf测试流量转发(nginx反向代理tcp/udp)
一.准备工作 服务器1:192.168.33.102 搭建nginx服务,作为反向代理的中转站 服务器2:192.168.33.103 nginx要反向代理的服务器 服务器3:192.1 ...
- nginx反向代理 和部分优化
准备环境 : 两台web服务 安装http 写入文档 并启动 yum -y install httpd echo "192.168.2.100" > /var/ ...
- nginx 反向代理时丢失端口的解决方案
今天,配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题.但一旦设置为监听其他端口,就一直跳转不正常:如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的 ...
- 服务器上nginx反向代理的配置
Nginx不但是一款高性能的Web服务器,也是高性能的反向代理服务器.下面简单说说Nginx的反向代理功能. 反向代理是什么? 反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发 ...
- (总结)Linux服务器上最简单的Nginx反向代理配置
Nginx不但是一款高性能的Web服务器,也是高性能的反向代理服务器.下面简单说说Nginx的反向代理功能. 反向代理是什么? 反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发 ...
随机推荐
- 【CF1218E】Product Tuples
题目大意:给定一个长度为 \(N\) 的序列,求从序列中选出 \(K\) 个数的集合乘积之和是多少. 题解: 由于是选出 \(K\) 个数字组成的集合,可知对于要计算的 \(K\) 元组来说是没有标号 ...
- ERROR 1130 (HY000): Host '127.0.0.1' is not allowed to connect to this MySQL server
[root@zstedu mysql]# mysql --protocol=tcp -h 127.0.0.1 -uroot -pEnter password: ERROR 1130 (HY000): ...
- C# 截取屏幕方法
this.Visible = false; System.Threading.Thread.Sleep(); Bitmap bit = new Bitmap(Screen.PrimaryScreen. ...
- Qt5 使用lambda
c11新特性中加入了lambda表达式,所以Qt 也支持 需在.pro文件中加入 CONFIG += c++11 m_timer = new QTimer(); m_timer->start() ...
- 基于ElementUI封装可复用的表格组件
<template> <section class="ces-table-page"> <!-- 表格操作按钮 --> <section ...
- JS核心知识点:DOM\BOM\EVENT
1.DOM(Document Object Model) :文档对象模型2. DOM节点:页面中最基本的组成部分 3. childNodes:获取某个节点下所有的子节点 在标准及ie9以上 : 会获取 ...
- dapper通用分页方法
/// <summary> /// dapper通用分页方法 /// </summary> /// <typeparam name="T">泛型 ...
- python struct的使用例子
import struct i = 1024 # s0为一个字符串,长度为4,即占四个字节,这样方便传输与保存二进制数据. s0 = struct.pack(">I", i) ...
- Linux安装elasticsearch5全过程(踩坑实录)
Linux版本Centos elasticsearch版本:5.5 1.下载elasticsearch https://artifacts.elastic.co/downloads/elasticse ...
- IO之复制文件的四种方式
1. 使用FileStreams复制 这是最经典的方式将一个文件的内容复制到另一个文件中. 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B. 这是 ...