Apache+tomcat实现应用服务器集群
Ngnix/Apache比较
- Nginx:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
- Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
- 可以使用
curl -I(大写i)选项查看响应头部信息,试试:



- 【Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。它的目的是打造一个高效、安全的Web平台。】
- 现在主流的web服务器都采用nginx的部署方式——
主流的网站基本采用:lamp/lnmp方式部署web服务器(l——linux,a——apache,n——nginx,m——mysql,p——php) - 更多Ngnix和Apache的对比可以看这篇文章https://www.cnblogs.com/cunkouzh/p/5410154.html
下面开始Apache配置部署(windows)
- 先pia一下安装方式
- 进入官网https://httpd.apache.org/

- 进入官网https://httpd.apache.org/


- 选择一个版本下载即可,把压缩包解压到自己想放的位置
配置
将httpd.exe位置配置进系统环境变量

(在conf文件夹里)配置httpd.conf文件
- 写入绝对安装路径,最后不能带“"

- 写入绝对安装路径,最后不能带“"
修改端口

- 使用命令行界面
httpd -t //测试配置是否合法
如果出现”AH00558: httpd: Could not reliably determine the server's fully qualified domain name.......”的报错,则继续配置httpd.conf文件
修改"#ServerName www.example.com:80"为"ServerName localhost:80"
再测试运行,显示成功。

- PS:如果80端口被占用,还需要修改至其他端口,使用"netstat -ano"查看所有端口,也可直接使用”netstat -ano | findstr 80”直接查看80端口情况
安装服务
httpd -k install -n Apache2.4 //其中-n后的参数是自定义安装的服务名
成功显示如下,Errors是正常提示

PS:如果443端口被占用需要同时修改httpd.conf以及httpd-ssl.conf中所有443为442
出现问题先移除服务再重试
httpd -k uninstall
启动服务器
httpd -k start -n Apache2.4
打开网页http://localhost:90/index.html(端口根据自己设置的填写)

删除服务
指路:https://www.php.cn/apache/427478.html
配置tomcat
在tomcat官网下载一个压缩包版本,解压成两个文件夹tomcat1和tomcat2
在tomcat1的目录下打开tomcat1/conf/server.xml,修改HTTP/1.1端口号为:8081,修改AJP
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector protocol="AJP/1.3"
port="8009"
redirectPort="8443" />
在tomcat1的目录下打开tomcat2/conf/server.xml,修改HTTP/1.1端口号为:8082,修改AJP,修改server port为8006
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444" />
<Connector protocol="AJP/1.3"
port="8010"
redirectPort="8444" />
修改一下tomcat/conf/logging.properties,把编码改成GBK,防止乱码
点击bin/startup.bat启动服务,查看http://localhost:8081,启动成功。

此时可以替换两个tomcat中webapps的index文件改为自己的index.html 如下
集群配置
mod_jk模块,Apache与tomcat集成是能够经过AJP协议也能够经过HTTP协议,能够使用mod_jk(AJP)和mod_proxy+mod_proxy_ajp(AJP)集成也能够使用mod_proxy+mod_proxy_http(HTTP),这里使用是mod_proxy+mod_proxy_http。
Apache本身并没有mod_jk.so,是由tomcat提供的,
mod_jk.so下载地址[http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/],根据自身apache版本找一个放在modules下面。
接下来修改httpd.conf,加载mod_proxy.so、mod_proxy_http.so模块前去掉#
在httpd.conf最后,脱离结束括号后的下一行,加入下面内容:(需要根据自己前面配置内容修改)
ProxyPass "/sample1" "http://localhost:8081/sample1"
ProxyPassReverse "/sample1" "http://localhost:8081/sample1"
ProxyPass "/sample2" "http://localhost:8082/sample2"
ProxyPassReverse "/sample2" "http://localhost:8082/sample2"
此时查看网页,配置成功。
(学习原文:https://blog.csdn.net/weixin_34367257/article/details/91829500 )
Apache+tomcat实现应用服务器集群的更多相关文章
- Apache + Tomcat + mod_jk实现集群服务及session共享
实现效果:用apache 分发请求到tomcat中的对应的项目 原理:
- Linux平台上搭建apache+tomcat负载均衡集群
传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...
- Apache + Tomcat + mod_jk实现集群服务
Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制. 实现效果:用apache 分发请求到tomcat中的对应的项目 环境说明: 操作系统:window xp Jav ...
- Apache + Tomcat +mod_jk 实现集群
实现效果:用apache 分发请求到tomcat中的对应的项目 环境说明: 操作系统:window7 Javasdk: 1.7 Apache: 2.2.14 (本地安装路径:D:\Apache2 ...
- 2.Apache + Tomcat + mod_jk实现集群服务
转自:http://www.cnblogs.com/dennisit/p/3370220.html Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制. 实现效果:用 ...
- Apache+Tomcat负载均衡集群搭建
1.所需软件 apache_2.2.4-win32-x86-no_ssl.apacheserver mod_jk-apache-2.2.4连接器,连接apache和tomcat apache-tomc ...
- 1.Apache+Tomcat负载均衡+集群配置
1.本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apache是 ...
- nginx+tomcat+redis的集群+session共享
nginx+tomcat+redis的集群+session共享 环境准备 1.tomcat版本:tomcat7 tomcat下载及安装,目前很多好的资源和步骤,此处省略. 2.jdk版本:jdk1.7 ...
- tomcat+nginx+redis集群试验
Nginx负载平衡 + Tomcat + 会话存储Redis配置要点 使用Nginx作为Tomcat的负载平衡器,Tomcat的会话Session数据存储在Redis,能够实现0当机的7x24 运 ...
随机推荐
- Solution -「Ynoi 2018」「洛谷 P4117」五彩斑斓的世界
\(\mathcal{Description}\) Link. 给定序列 \(\{a_n\}\),处理 \(m\) 次操作: 给定 \(l,r,x\),把 \([l,r]\) 内所有 \(&g ...
- Solution -「ZJOI 2020」「洛谷 P6631」序列
\(\mathcal{Description}\) Link. 给定一个长为 \(n\) 的非负整数序列 \(\lang a_n\rang\),你可以进行如下操作: 取 \([l,r]\),将 ...
- Solution -「CF 487E」Tourists
\(\mathcal{Description}\) Link. 维护一个 \(n\) 个点 \(m\) 条边的简单无向连通图,点有点权.\(q\) 次操作: 修改单点点权. 询问两点所有可能路 ...
- C#操作读写INI配置文件
一个完整的INI文件格式由节(section).键(key).值(value)组成.示例如:[section]key1=value1key2=value2; 备注:value的值不要太长,理论上最多不 ...
- NeurIPS 2017 | QSGD: Communication-Efficient SGD via Gradient Quantization and Encoding
由于良好的可扩展性,随机梯度下降(SGD)的并行实现是最近研究的热点.实现并行化SGD的关键障碍就是节点间梯度更新时的高带宽开销.因此,研究者们提出了一些启发式的梯度压缩方法,使得节点间只传输压缩后的 ...
- NeurIPS 2017 | TernGrad: Ternary Gradients to Reduce Communication in Distributed Deep Learning
在深度神经网络的分布式训练中,梯度和参数同步时的网络开销是一个瓶颈.本文提出了一个名为TernGrad梯度量化的方法,通过将梯度三值化为\({-1, 0, 1}\)来减少通信量.此外,本文还使用逐层三 ...
- 使用 Spring Cloud Jaeger 进行分布式跟踪
在本文中,学习如何实现 Jaeger(基于 OpenTracing 和 Spring Boot 应用程序)以及如何使用 Jaeger UI 可视化跟踪. 介绍 在本文中,我们将探讨如何使用 Jaege ...
- 攻防世界 MOBILE RemeberOther
解题思路: 下载后解压可以得到一个apk文件和word文件.查看word文件,里面写了比较简单的一句话,未获有有效信息.(后续会讲到这个word文档的使用) word内容 运行apk文件,如图: ap ...
- .Net Core之选项模式Options使用
一.简要阐述 ASP.NET Core引入了Options模式,使用类来表示相关的设置组.简单的来说,就是用强类型的类来表达配置项,这带来了很多好处.利用了系统的依赖注入,并且还可以利用配置系统.它使 ...
- dockerfile 使用 entrypoint,导致 docker 无法正确挂载的问题
一开始 Dockerfile 如下: FROM golang:latest WORKDIR $GOPATH/src/hellodocker COPY . .RUN go build . EXPOSE ...


