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 运 ...
随机推荐
- uniapp 微信发送订阅消息
这篇主要针对小程序进行演示,既然是发送消息,那么就有三个问题.发送什么内容,给谁发送,怎么发送!往下一条一条解决. 发送什么消息内容 - 通过微信公众号平台 选择对应的消息模板 选择以后在我的模板里面 ...
- c++ Message与Folder 拷贝 析构(没有动态空间的类)
c++ Message与Folder 拷贝 析构(没有动态空间的类) 1.两个类里边分别保存一个对方的set表,当前类有拷贝或者销毁时需要更新另一个类的set表. 2.两个类都需要访问对方的priva ...
- Java中邮件发送session.getDefaultInstance和getInstance的区别
假设你想要同时用两个邮箱分别给再给两个邮箱发送邮件时,你就需要创建两个java.mail.Session对象,这时候你用getDefaultInstance的话会发现第二个Session对象和第一个对 ...
- Ansible部署K8s集群
目录 检查网络:k8s-check.yaml 连接配置:k8s-conn-cfg.yaml 配置k8s集群dns解析: k8s-hosts-cfg.yaml 配置yum源:k8s-yum-cfg.ya ...
- vivo全球商城全球化演进之路——多语言解决方案
一.背景 随着经济全球化的深入,许多中国品牌纷纷开始在海外市场开疆扩土.实现全球化意味着你的产品或者应用需要能够在全球各地的语言环境使用,我们在进行海外业务的推进时,需要面对的最大挑战就是多语言问题. ...
- 国内主流大数据厂商太多不知道怎么选?Smartbi满足你的需求
目前的BI市场上有很多大数据的厂商,这也让许多客户眼花缭乱,不知如何下手.比如国内的亿信华辰跟国外的Tableau,QLK, PowerBI 都有非常多便于分析的可视化工具,但是在数据处理分析的功能 ...
- IComparer、IComparable、StringComparison枚举、CultureInfo 的用法
IEnumerable<T> 和 IEnumerator<T>.泛型版本是新式代码的首要选项. InvariantCulture:程序间.程序数据库.程序网络交互用Invari ...
- 关于JS继承
关于JS继承 关于继承这个概念,是由面向对象衍生出来的.而JS身为一种基于面向对象而设计的语言,它和正统的面向对象语言又是有差别的. 面向对象语言 身为面向对象语言需要对开发者提供四种能力: ①:封装 ...
- 《Symfony 5全面开发》教程04、Symfony处理http请求的流程
当我们访问项目的/test路径时,浏览器会向我们的服务器端发送一个请求.我们打开浏览器的开发者工具,打开network选项卡. 在地址栏中敲击回车,浏览器向我们的服务器端发送了一个请求.请求的地址是1 ...
- Qt:QTextStream
0.说明 QTextStream提供了读写文本文件的接口. QTextStream可以操作QIODevice, QByteArray 和 QString,调用QTextStream的流操作可以方便的 ...


