nginx 特定地址 转发到另外一台服务器上_Nginx初步 - Go语言中文社区

nginx 特定地址 转发到另外一台服务器上_Nginx初步


5b2b2f7cbc58d8bf6222713ae7dd6216.png

【74】

一、 Nginx 简介

Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务。它是一个很强大的高性能 Web 和反向代理服务,它具有很多非常优越的特性:在 连接高并发的情况下,Nginx 是 Apache 服务不错的替代品:Nginx 在美国是做虚拟主机生 意的老板们经常选择的软件平台之一。

二、Nginx 作用

1、HTTP静态服务器:

存储图片,文件等静态资源。

2、负载均衡:

当一台web服务器不够用时,需要添置一台web服务器,这时候就需要nginx来做负载均衡,把浏览器的访问量以特定的规则分发到两台web服务器上。

3、反向代理:

正常套路->客户端直接访问服务器。反向代理是客户端请求nginx,nginx请求服务器,然后返回数据给客户端。

4、虚拟主机:

当一台部署单个应用的web服务器资源过剩时,可以在该服务器上部署多个应用,用nginx来做反向代理,把访问服务器的http请求正确的给到其中的某一个应用。(一台服务器上有多个带域名的应用,多个域名解析同一个IP地址,但是端口号不同)

三、 代理方式

1 正向代理

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从 原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原 始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

d88184cf339528339aa98c389b036099.png

四反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然 后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连 接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

1f84b7a1ccd8afa2e199d4a8ef65ae46.png

二者之间的区别

位置不同

正向代理,架设在客户机和目标主机之间;

反向代理,架设在服务器端;

代理对象不同

正向代理,代理客户端,服务端不知道实际发起请求的客户端;

反向代理,代理服务端,客户端不知道实际提供服务的服务端

五、 Nginx 的使用

1 配置虚拟主机

1.1 虚拟主机介绍

虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主 机,每个虚拟主机可以独立对外提供 www 服务,这样就可以实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。

虚拟主机技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应 用于 HTTP(Hypertext Transfer Protocol,超文本传输协议)服务,将一台服务器的某项或 者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬 件资源。

5fb9992dd6f9a42d680fd5c744ae5aa4.png

1.2 Nginx 的虚拟主机配置方式

Nginx 支持三种类型的虚拟主机配置

1. 基于 IP 的虚拟主机

2. 基于端口的虚拟主机

3. 基于域名的虚拟主机

在反向代理中配置负载均衡

1 什么是负载均衡

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡,英文名称为 Load Balance,其意思就是分摊到多个操作单元上 进行执行,例如 Web 服务器、FTP 服务器、企业关键应用服务器和其它关键任务 服务器等,从而共同完成工作任务。

2 Nginx 负载均衡策略

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

2.3指定权重 指定轮询几率,weight 和访问比率成正比,用于后端服务器 性能不均的情况。 upstream backserver {

server 192.168.0.14 weight=10;

server 192.168.0.15 weight=10;

}

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

upstream backserver {

ip_hash; server 192.168.0.14:88;

server 192.168.0.15:80;

}

Nginx代理Tomcat实现负载均衡

一、前提

1.将动态ip设置为静态ipcd etc/sysconfig/network-scripts

1)编辑网络vi ifcfg-eth0将BOOTPROTO=static

2)重启服务service network restart

2.绑定多个ip

1)将/etc/sysconfig/network-scripts/ifcfg-eth0 文件复制一份,命名为cp ifcfg-eht0 ifcfg-eht1

2)修改内容vi ifcfg-eht0:1DEVICE=eth0:1IPADDR=192.168.81.129

3)重启服务service network restart

3.重新系统

二、需求nginx作为负载均衡服务器,

用户请求先到达nginx,再由nginx根据负载配置将请求转发到tomcat服务器tomcat1 服务器: 192.168.81.129:8080。

tomcat2 服务器: 192.168.81.129:9090。n

ginx 负载均衡服务器: 192.168.81.128

三、负载均衡

1.复制两份tomcat到/usr/local中,改名n-tomcat12.配置tomcat

1)修改端口,进入/n-tomcat1/confvim server.xml

2)修改页面内容,进入/n-tomcat1/webapps/ROOTvim index.jsp

3.配置nginx反向代理

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;#pid logs/nginx.pid;events {

worker_connections 1024;}http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

upstream

tomcat_server1{

server 192.168.70.143:8080 weight=10;

server 192.168.70.143:9090 weight=2;

}

server {

listen 80;

#为虚拟机指定 IP 或者是域名 server_name test.bjsxt.com;

#主要配置路由访问信息 location / {

#用于指定访问根目录时,访问虚拟主机的 web 目录 proxy_pass http://tomcat_server1;

#在不指定访问具体资源时,默认的展示资源的列表

index index.html index.htm;

} error_page 500 502 503 504 /50x.html;

location = /50x.html { root html; } }}

4.启动tomcat、nginx

5.关闭防火墙service iptables stop6.测试

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_39751769/article/details/111680692
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-03 15:57:26
  • 阅读 ( 1645 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢