Nginx(web服务器)与Tomcat(应用服务器)搭建集群
Nginx作为互联网最常用的web服务器,高性能的HTTP和反向代理使它经常作为Tomcat集群的方案。Nginx官方只支持使用HTTP协议的集成,但是如果你想使用AJP协议集成,可以使用阿里开源的nginx_ajp_module。接下来我们使用HTTP的方式集成:
1.准备Nginx、Tomcat1、Tomcat2
Nginx下载并启动:http://nginx.org/en/download.html
nginx默认端口80,我这里为了方便也就不修改了,直接启动
server {
listen ;
server_name localhost; location / {
root html;
index index.html index.htm;
} error_page /50x.html;
location = /50x.html {
root html;
} }
Tomcat下载并启动:https://tomcat.apache.org/download-80.cgi#8.5.43
tomcat由于是同一台机器,我这里修改了端口号,配置分别是:
<Server port="" shutdown="SHUTDOWN">
<Connector port="" protocol="HTTP/1.1" connectionTimeout="" redirectPort="" />
<Connector port="" protocol="AJP/1.3" redirectPort="" />
<Server port="" shutdown="SHUTDOWN"> <Connector port="" protocol="HTTP/1.1" connectionTimeout="" redirectPort="" />
<Connector port="" protocol="AJP/1.3" redirectPort="" />
修改好配置,把示列工程sample1放在tomcat1,sample2放在tomcat2里面,启动两个tomcat:
访问http://localhost:8081/sample1/
访问http://localhost:8082/sample2/
2.配置Nginx,将Nginx与Tomcat1、Tomcat2集成
Nginx集成可以使用HTTP方式,也可以使用AJP方式,这里使用的HTTP方式。
2.1修改nginx的目录下conf下nginx.conf配置
在http{}下面配置
#配置服务器1
upstream sample1{
server localhost:;
}
#配置服务器2
upstream sample2{
server localhost:;
}
在server{}下配置
#映射服务器1
location /sample1/ {
proxy_pass http://sample1;
}
#映射服务器2
location /sample2/ {
proxy_pass http://sample2;
}
重启nginx,再一次访问
http://localhost/sample1/
http://localhost/sample2/
3.负载均衡配置
在http{}下面配置
#负载均衡配置服务器群组
upstream sample1{
#实例1
server localhost: weight= max_fails= fail_timeout=30s;
#实例2
server localhost: weight= max_fails= fail_timeout=30s;
}
在server{}下配置
#映射服务器集群
location /sample1/{
proxy_pass http://sample1;
}
因为这里我们配置的两个项目是不同名称的,所以负载均和1:1时候,会有一个是无法访问。
在tomcat2里面把tomcat1里面的sample1复制过来,显示改为hello,tomcat2!
访问http://localhost/sample1/,不断刷新
Nginx(web服务器)与Tomcat(应用服务器)搭建集群的更多相关文章
- Nginx学习笔记(反向代理&搭建集群)
一.前言 1.1 大型互联网架构演变历程 1.1.1 淘宝技术 淘宝的核心技术(国内乃至国际的 Top,这还是2011年的数据) 拥有全国最大的分布式 Hadoop 集群(云梯,2000左右节点,24 ...
- 使用Nginx在windows和linux上搭建集群
Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离… 反向代理(Reverse Pro ...
- Nginx 在 Linux 下安装与搭建集群
搭建集群图例 集群搭建图如下,为了简单一点,使用一个Nginx服务器+两个Tomcat服务器,省略数据库部分: 环境说明 Linux 为 CentOS 7.2 发行版 + Java jdk 1.8 + ...
- nginx+apache+mysql+php+memcache+squid搭建集群web环境
服务器的大用户量的承载方案 一.前言 二.编译安装 三. 安装MySQL.memcache 四. 安装Apache.PHP.eAccelerator.php-memcache 五. 安装Squid 六 ...
- apache和tomcat搭建集群
最近在学习简单的apache服务器和两个tomcat一起搭建集群,这里简单记录一下 1.准备工作 ①搭建一个可以运行的web项目 用maven搭建springmvc项目 ,只要将这里面的web.xml ...
- [link] 构建负载均衡服务器之一 负载均衡与集群详解
一.什么是负载均衡 首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载, ...
- Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享
小伙伴们好久不见!最近略忙,博客写的有点少,嗯,要加把劲.OK,今天给大家带来一个JavaWeb中常用的架构搭建,即Nginx+Tomcat搭建服务集群,然后通过Spring Session+Redi ...
- Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡 分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑 ...
- 架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)
[前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式.接下来,小编就和大家一起来做个小Demo来体会一下N ...
- 架构之路:nginx与IIS服务器搭建集群实现负载均衡(三)
参考网址:https://blog.csdn.net/zhanghan18333611647/article/details/50811980 [前言] 在<架构之路:nginx与IIS服务器搭 ...
随机推荐
- HTML页面间传值
页面一: window.location="./showUserMsg.html?IDno="+IDno+"&&thedate="+thedat ...
- 【VBA】学习中出现的错误
1.自定义函数 自定义函数尽量不要使用,容易导致excel卡,让你怀疑人生!!!
- EPOLL内核原理极简图文解读(转)
预备知识:内核poll钩子原理内核函数poll_wait把当前进程加入到驱动里自定义的等待队列上 当驱动事件就绪后,就可以在驱动里自定义的等待队列上唤醒调用poll的进程 故poll_wait作用:可 ...
- Jmeter如何使用数据库返回值实践
Jmeter如何使用数据库返回值实践 最近使用Jmeter针对产品做性能测试,测试内容是要模拟300并发用户审批休假申请时的性能.由于每个申请人的主管不同,且会根据不同的休假类型,会有一级审批或者二级 ...
- 2019.11.29 SAP SMTP郵件服務器配置 發送端 QQ郵箱
今天群裏的小夥伴問了如何配置郵件的問題,隨自己在sap裏面配置了一個 1. RZ10配置參數 a) 参数配置前,先导入激活版本 执行完毕后返回 b) 输入参数文件DEFAU ...
- pyQt点击事件和数据传输
首先是PushButton点击事件,点击按钮之后发送textEdit框里输入的文字到后台. def retranslateUi(self, MainWindow): _translate = QtCo ...
- python中的set集合
当使用爬虫URL保存时,一般会选择set来保存urls,set是集合,集合中的元素不能重复,其次还有交集,并集等集合的功能, 爬虫每次获取的网页中提取网页中的urls,并保存,这就需要利用urls = ...
- python数据存储--JSON
HTML正文存储为两种格式:JSON和CSV. 存储为JSON: 首先利用Requests访问http://seputu.com获取HTML文档: #!coding:utf-8 import requ ...
- Qt qss问题总结
1.在QWidget中设定了setObjectName,就是不起作用. 解决方法重写paintEvent. #ifndef BROWSEWIDGET_H #define BROWSEWIDGET_H ...
- 【Python开发】使用python中的matplotlib进行绘图分析数据
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...