Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >FastDFS蛋疼的集群和负载均衡(十四)之Nginx+Tomcat负载均衡

FastDFS蛋疼的集群和负载均衡(十四)之Nginx+Tomcat负载均衡

作者头像
用户2032165
发布于 2018-06-05 10:29:11
发布于 2018-06-05 10:29:11
64800
代码可运行
举报
运行总次数:0
代码可运行

Interesting things

今天来配置一下Nginx+Tomcat负载均衡环境。

image.png

What did you do today

什么是虚拟主机

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

image.png

通过nginx可以实现虚拟主机的配置,nginx支持三种类型的虚拟主机配置

1.基于ip的虚拟主机 2.基于域名的虚拟主机 3.基于端口的虚拟主机

基于域名的虚拟主机
  • ashin.mayday.com和monster.mayday.com都指向同一台nginx服务器(192.168.12.5),用户访问不同的域名显示不同的网页内容。
  • 修改hosts文件(C:\Windows\System32\drivers\etc\hosts),指定ashin.mayday.com和monster.mayday.com对应的虚拟机

image.png

html目录创建

在192.168.12.5上创建/usr/local/html/ashin_html,此目录为ashin.mayday.com域名访问的目录

在192.168.12.5创建/usr/local/html/monster_html,此目录为monster.mayday.com域名访问的目录

我们把/usr/local/nginx/html/index.html 拷贝到 /usr/local/html/ashin_html 和 /usr/local/html/monster_html目录下,然后做一些个性化修改。

配置虚拟主机

修改/usr/local/nginx/conf/nginx.conf目录,添加两个虚拟主机。配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        server {
                listen  192.168.12.5:80;
                server_name     ashin.mayday.com;

                location / {
                        root /usr/local/ashin_html;
                        index index.html index.htm;
                }

        }


        server {
                listen  192.168.12.5:80;
                server_name     monster.mayday.com;

                location / {
                        root /usr/local/monster_html;
                        index index.html index.htm;
                }

        }
  • 访问ashin.mayday.com和monster.mayday.com,美滋滋大功告成!

image.png

image.png

基于端口的虚拟主机

nginx对外提供80和8080两个端口监听服务。请求80端口则请求80_html目录下的index.html,请求8080端口则请求8080_html目录下的index.html

修改/usr/local/nginx/conf/nginx.conf目录,添加两个虚拟主机。配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        server {
                listen 8080;
                server_name     192.168.12.5;

                location / {
                        root /usr/local/8080_html;
                        index index.html index.htm;
                }

        }

    server {
        listen       80;
        server_name  192.168.12.5;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/local/80_html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
  • 防火墙添加8080端口策略

image.png

  • 启动nginx,查看端口监听状态

netstat -an|grep 80

image.png

  • 访问192.168.12.5:80 和 192.168.12.5:8080

image.png

image.png

Nginx负载均衡

负载均衡,建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、添加吞吐量、加强网络数据处理能力、提高网络的灵活性和可靠性。

nginx负载均衡服务器:192.168.12.5 tomcat1服务器:192.168.12.6 tomcat2服务器:192.168.12.7

  • 对192.168.12.6和192.168.12.7里的apache-tomcat-8.0.48.tar.gz进行解压,在此之前我们需要安装java环境。

Java环境配置

1.在/usr/local/目录,创建java目录,把jdk-8u151-linux-x64.tar.gz解压到/usr/local/java 2.为java配置本地环境变量。 vim /etc/profile, 添加如下内容: JAVA_HOME=/usr/local/java/jdk1.8.0_151 JRE_HOME=/usr/local/java/jdk1.8.0_151/jre CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib PATH=$JAVA_HOME/bin:$PATH export PATH CLASSPATH JAVA_HOME

image.png 3.使配置生效source /etc/profile 4.测试java环境是否配置成功。

image.png

  • 我们测试启动192.168.12.6和192.168.12.7的tomcat,记得在防火墙添加8080端口策略。

image.png

image.png

image.png

  • 我们进入/webapps/ROOT/目录下,修改index.jsp,进行个性化设置。
  • 我们在192.168.12.5中修改nginx.conf,具体如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
          upstream tomcat_server_pool {
                server 192.168.12.6:8080 weight=10;
                server 192.168.12.7:8080 weight=10;
        }

    server {
        listen       192.168.12.5:80;
        server_name  ashin.mayday.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://tomcat_server_pool;
            index  index.jsp index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
  • 开启nginx,第一次访问ashin.mayday.com

image.png

  • 第二次访问ashin.mayday.com

image.png


Summary

以上就实现了Nginx+Tomcat负载均衡!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.01.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
FastDFS蛋疼的集群和负载均衡(十五)之lvs四层+Nginx七层负载均衡
Interesting things lvs+nginx的拓扑图 image.png 准备环境,基于上一篇【Diary Report 2018-1-3】关于FastD
用户2032165
2018/06/05
7030
Haproxy+keepalived+Nginx+Nginx&Tomcat+memcach集群
搭建并配置nginx节点,准备网页,启动服务,测试节点(两台nginx配置相同,在此列出一台的配置);
用户8608081
2021/05/12
7900
搭建Nginx+Tomcat集群实现负载均衡及动静分离
​ 想必大家对于Nginx和Tomcat都非常熟悉了,Nginx的应用非常广泛,不仅是对web静态资源非常友好,而且也是非常实用的反向代理和负载均衡软件。结合后端Tomcat的服务,从而搭建Nginx+Tomcat集群。
星哥玩云
2022/08/08
6330
搭建Nginx+Tomcat集群实现负载均衡及动静分离
全面解析|搞懂Nginx这一篇就够了
Nginx是一个http服务器,是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试Nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。本文将为大家详细介绍关于Nginx的原理以及在应用场景下的相关解析。
浅羽技术
2020/12/07
4500
全面解析|搞懂Nginx这一篇就够了
Docker容器化搭建Nginx + Tomcat负载均衡
随着微服务和容器化技术的兴起,大家或多或少的都听过docker。docker相对于虚拟机来说是一种轻量级的虚拟技术,它的隔离性和可移植性也让它有了更多的应用场景。工作闲暇之余,也曾学习过docker,所以就尝试在一台ECS上用docker搭建一台nginx + 2台tomcat的负载均衡,加深一下对docker的理解。
叫我阿柒啊
2022/05/09
7100
Docker容器化搭建Nginx + Tomcat负载均衡
Nginx + Tomcat 搭建负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
Java架构师必看
2021/12/18
6120
Nginx + Tomcat 搭建负载均衡
Nginx+Tomcat实现动静分离、负载均衡
什么是动静分离 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时,代理服务器就可以直接处理,而不用将请求转发给后端服务器。用户请求的动态文件比如servlet,jsp则转发给Tomcat,Jboss服务器处理,这就是动静分离。这也是反向代理服务器的一个重要的作用。 本文的动静分离主要是通过nginx+tomcat来实现,其中nginx处理图片、html、JS、CSS等静态文
老七Linux
2018/05/09
2.4K0
nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案。nginx可以用轮询、IP哈希、URL哈希等方式调度后端服务器,同时也能提供健康检查功能。目前有众多公司均已经部署使用nginx实现基于七层的负载均衡功能。 1)Nginx负载均衡 为了实现Nginx的反向代理以及负载均衡功能,应用中需要用到两个模块,HttpProxyModule和HttpUpstreamModule模块;其中HttpProxyModule模块的作用是将用户的数据请求转发到其他服
洗尽了浮华
2018/01/23
8.1K0
nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
Nginx配置java项目在Tomcat下访问
重启tomcat,nginx。其实Nginx一般是不用重启的,它可以通过与-s参数调用可执行来控制
兮动人
2021/06/11
1.2K0
Nginx配置java项目在Tomcat下访问
LVS + keepalived + nginx + tomcat 实现主从热备 + 负载均衡
  首先声明下,由于这两天找资料,看了不少博客 ,但是出于不细心,参考者的博客地址没有记录下来,所有文中要是出现了与大家博客相同的地方,那么请大家在评论区说明并附上博客地址,我好引用进来;这里表示抱歉了!
青石路
2018/09/10
1.2K0
LVS + keepalived + nginx + tomcat 实现主从热备 + 负载均衡
nginx实现负载均衡和动静分离
这篇文章主要为大家详细介绍了nginx实现负载均衡和动静分离,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
菲宇
2019/06/12
5300
Nginx实例与localtion匹配规则
〇、官方手册 一、反向代理 docker run --name nginx -d -p 80:80 -v /nginx/html:/usr/share/nginx/html -v /nginx/nginx.conf:/etc/nginx/nginx.conf nginx 下面为容器的端口!!!!!! # 运行用户 #user nobody; # 启动进程,通常设置成和cpu数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.lo
wuweixiang
2019/03/12
9380
FastDFS蛋疼的集群和负载均衡(五)之tracker配置反向代理
Interesting things 接着上一篇。 What did you do today 我们需要在tracker1和tracker2配置反向代理服务,那么你肯定会问了什么是反向代理服务? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 在tracker1和tracker2上解压ngx_ca
用户2032165
2018/06/05
8610
FastDFS蛋疼的集群和负载均衡(七)之Nginx高可用集群应用到FastDFS集群
diary_report.jpg Interesting things 这将会是关于FastDFS蛋疼的集群和负载均衡系列收官之篇,不排除有总结篇!这篇就是将keepalived实现的nginx集群高可用应用到我们的FastDFS集群中。 What did you do today 我们需要修改192.168.12.77和192.168.12.88设备上的nginx.conf,配置如下所示: #user nobody; worker_processes 1; error_log logs/e
用户2032165
2018/06/05
4680
Nginx一文精通:反向代理、负载均衡、动静分离
   Nginx(“engine x”)一个具有高性能的HTTP和反向代理的WEB服务器,同时也是一个POP3/SMTP/IMAP代理服务器,是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。另外值得一提的是伊戈尔·赛索耶夫将Nginx的源码进行了开源,这也为Nginx的发展提供了良好的保障。
上分如喝水
2021/08/16
7530
Nginx一文精通:反向代理、负载均衡、动静分离
Nginx主配置参数详解,Nginx配置网站
a.上面博客说了在Linux中安装nginx。博文地址为:http://www.cnblogs.com/hanyinglong/p/5102141.html
用户8682940
2021/12/02
1.4K0
在CentOS 7上Nginx+Tomcat负载均衡实现
通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以需要一套更可靠的解决方案来完善web站点架构。
星哥玩云
2022/07/14
3850
在CentOS 7上Nginx+Tomcat负载均衡实现
Nginx安装与使用
1 : wget下载: http://nginx.org/download/nginx-1.4.2.tar.gz
HUC思梦
2020/09/03
5860
Linux环境搭建Nginx+Tomcat负载均衡集群
Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选。由于Tomcat处理静态HTML的能力运不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。
星哥玩云
2022/07/25
9550
Linux环境搭建Nginx+Tomcat负载均衡集群
Nginx & 安装
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
收心
2022/01/14
3130
Nginx & 安装
推荐阅读
相关推荐
FastDFS蛋疼的集群和负载均衡(十五)之lvs四层+Nginx七层负载均衡
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验