设为首页 加入收藏

TOP

Nginx 反向代理 负载均衡 虚拟主机(二)
2019-09-17 19:06:30 】 浏览:85
Tags:Nginx 代理 负载 均衡 虚拟主机
dragon nginx]# vim conf/nginx.conf server { listen 80; server_name search.itdragon.com; location / { root html-search; index index.html index.htm; } } server { listen 80; server_name picture.itdragon.com; location / { root html-picture; index index.html index.htm; } } [root@itdragon nginx]# sbin/nginx -s reload

第一步:在window环境中,修改host文件,添加ip 域名映射关系,用来模拟DNS服务器
第二步:进入到/usr/local/nginx/ 目录下,拷贝两份html目录,分别修改index.html 文件便于区分测试
第三步:修改Nginx配置文件,监听的端口不变,修改server_name为对应域名地址,修改root为对应的html目录
第四步:重启Nginx服务,在浏览器上分别访问两个域名地址,观察页面变化
若你发现不同的域名地址打印不同页面,和效果图相似,则代表配置成功。

Nginx 反向代理

在了解Nginx 反向代理之前,我们先熟悉一下什么是代理服务器
代理服务器:是一个夹在客户机和目标主机中间的服务器。能提高客户机访问响应速度,还能设置防火墙过滤不安全信息。
响应速度快:客户机发送请求,代理服务器接收请求后,再转发给目标主机。目标主机接收请求并将数据返回给代理服务器,代理服务器将数据返回给客户机同时也会保存数据到本地。若客户机下次有相同的请求,则直接从本地数据返回。从而提高了响应的速度。
设置防火墙:因为代理服务器夹在客户机和目标主机中间。客户机所有的请求都会经过代理服务器,所以如果在代理服务器上设置防火墙,则可以过滤一些不安全的信息,同时也方便管理。

清楚了代理服务器后,我们再来了解正向代理和反向代理的区别
正向代理:顾客:"服务员,我就要厨师A做的七彩红烧肉"; 服务员:"好嘞,我这就安排厨师A给您做!"
反向代理:顾客:"服务员,我要一份七彩红烧肉"; 服务员:"好嘞,我们的厨师B炒菜贼好吃!"
不知道大家看懂没有。顾客就是客户机,服务员就是代理服务器,厨师们就是目标主机。正向代理就相当于客户机明确指定目标主机提供服务(目标主机被动接收请求)。反向代理就相当于客户机提供需求,代理服务器从一群目标主机中找一台去实现该需求(目标主机主动接收请求)。

现在开始配置Nginx的反向代理

[root@itdragon ~]# vim /usr/local/solr/tomcat1/webapps/ROOT/index.jsp 
[root@itdragon ~]# vim /usr/local/solr/tomcat2/webapps/ROOT/index.jsp
[root@itdragon ~]# cd /usr/local/nginx
[root@itdragon nginx]# vim conf/nginx.conf
upstream searchserver {
    server 192.168.225.133:8081;
}
upstream pictureserver {
    server 192.168.225.133:8082;
}
server {
    listen       80;
    server_name  search.itdragon.com;
    location / {
       proxy_pass   http://searchserver;
       index  index.html index.htm;
    }
}
server {
    listen       80;
    server_name  picture.itdragon.com;
    location / {
       proxy_pass   http://pictureserver;
       index  index.html index.htm;
    }
}
[root@itdragon nginx]# sbin/nginx -s reload

第一步:准备两个tomcat服务器,端口分别是8081和8082,并分别修改index.jsp 文件便于区分测试
第二步:进入到/usr/local/nginx/ 目录下,修改Nginx配置文件。upstream 定义每个设备的状态,server 配置服务,server_name 指定域名,proxy_pass 代理转发到那台设备上
第三步:重启服务,在浏览器上输入不同的域名,会跳到对应的页面
Nginx的反向代理其实是在做请求的转发,后台有多个http服务器提供服务,Nginx的功能就是把请求转发给后面的服务器,并决定把请求转发给哪台服务器。

反向代理流程
浏览器访问search.itdragon.com,通过本地host文件域名解析,找到192.168.225.131 Nginx虚拟主机,Nginx接收客户机请求,找到server_name为search.itdragon.com的节点,再根据proxy_pass对应的http路径,将请求转发到upstream searchserver上,即端口号为8081的tomcat服务器。
客户机访问 ---> search.itdragon.com ---> host ---> Nginx ---> server_name ---> proxy_pass ---> upstream---> tomcat
反向代理流程

Nginx 负载均衡

负载均衡 在高性能的主机上分配更多的负载,在性能低的主机分配少一些的负载,充分利用主机的性能,将其服务器的总压力。Nginx的 upstream默认是以轮询的方式实现负载均衡,也可以分配权值。

[root@itdragon ~]# vim /usr/local/solr/tomcat3/webapps/ROOT/index.jsp 
[root@itdragon ~]# vim /usr/local/solr/tomcat4/webapps/ROOT/index.jsp
[root@itdragon ~]# cd /usr/local/nginx
[root@itdragon nginx]# vim conf/nginx.conf
upstream pictureserver {
    server 192.168.225.133:8082 weight=2;
    server 192.168.225.133:8083 weight=1;
    server 192.168.225.133:8084 weight=1;
}
[root@itdragon nginx]# sbin/nginx -s reload

第一步:新增两个tomcat服务器,端口分别为8083和8084,并分别修改index.jsp 文件便于区分测试
第二步:进入到/usr/local/nginx/ 目录下,修改Nginx配置文件,在pictureserver 内新增两个server
第三步:重启服务
负载均衡的配置是在反向代理的基础上修改的,所以请先完成反向代理的配置。

常用配置说明

events {                                        # 工作模式
    worker_connections  102
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇全文检索~solr的使用 下一篇Jenkins~powershell+cmd发布nuget..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目