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 运 ...
随机推荐
- MySQL数据备份/导出 创建用户及其删除
Mysql DCL 创建用户 create user '用户名'@'localhost(本机访问)/%(通配符任何ip地址都可访问本机) 分配权限 grant 权限 on 数据库.表名 to '用户名 ...
- 大厂偏爱的Agent技术究竟是个啥
搜索关注微信公众号"捉虫大师",后端技术分享,架构设计.性能优化.源码阅读.问题排查.踩坑实践. hello大家好,我是小楼,今天给大家分享一个关于Agent技术的话题,也是后端启 ...
- 搭建Pritunl+Google认证远程连接
搭建Pritunl+Google认证远程连接VPN 基于Centos7安装 Pritunl是一款免费开源的 VPN 平台软件(但使用的不是标准的开源许可证,用户受到很多限制).这是一种简单有效的V ...
- 不用rustup,Windows下gnu版Rust安装与开发环境配置
写在前面 本文介绍了在不使用rustup的情况下,在Windows上安装gnu版的Rust,并配置开发环境(VSCode + rust-analyzer,CLion + IntelliJ Rust)的 ...
- [Java]Java入门笔记(二):数据类型、程序结构、数组、控制台输入
二.基本语法 2.1 标识符 定义:给类.方法.变量等起的名字 规则: 可以使用字母(26个英文字母的大小写.各国的一些语言.-).数字.下划线.美元符号: 不能以数字开始(可以$开始): 不能是Ja ...
- [WPF] 使用 Effect 玩玩阴影、内阴影、 长阴影
最近在学习怎么用 Shazzam Shader Editor 编写自定义的 Effect,并试着去实现阴影.内阴影和长阴影的效果.结果我第一步就放弃了,因为阴影用到的高斯模糊算法对我来说太太太太太太太 ...
- Hbuilderx换行问题(属性合并一行展示)
1. 标签折行,非吾所愿(格式化代码快捷键:Ctrl + K) 2. 打开工具-设置 3. 点击左侧插件配置,点击右边下侧jsbeautify 4. 将原本的折行长度由120改为1200(长度可根据 ...
- 【C# 线程】线程局部存储(TLS) 实战部分 ThreadStatic|LocalDataStoreSlot|ThreadLocal<T>
往袋子里面装苹果 错误案例示范 关于C#多线程的文章,大部分都在讨论线程的起停或者是多线程同步问题.多线程同步就是在不同线程中访问同一个变量(一般是线程工作函数外部的变量),众所周知在不使用线程同步的 ...
- VT 入门篇——最小 VT 实现(上)
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- k8s全方位监控中-常用rules配置
[root@VM_0_48_centos prometheus]# cat alertmanager-configmap.yaml apiVersion: v1 kind: ConfigMap met ...


