最近在尝试架构WEB/AP,API服务器,整理一下。
1. WEB(Apache) + AP(Tomcat)
1.1 安装
1.安装或者解压压缩包到d:\Server\Apache2.2
2.测试:打开浏览器,输入localhost:80,显示[It's works!]
1.2 Load-Blancing
1.Tomcat集群:安装或解压压缩包到d:\Server\Tomcat1,d:\Server\Tomcat2
2.下载jk模块[mod_jk.so],放到:d:\Server\Apache2.2\modules
3.新建[d:\Server\Apache2.2\conf\\workers.properties]文件
#server worker.list = controller #控制器名称一览,逗号分隔。Web服务插件会初始化它。 #========tomcat1 连接指令======== # worker.<worker name>.<directive>=<value> worker.tomcat1.port=8009 #ajp协议的端口,如果2个tomcat部署在同一个服务器中,那个ajp端口需要不同 worker.tomcat1.host=127.0.0.1 #tomcat的所在主机的ip,如果是本机,则写本机的ip即可 worker.tomcat1.type=ajp13 #worker类型,ajp13是JK用于Web服务器和Tomcat之间通信的首选worker类型 worker.tomcat1.lbfactor=1 #负载因子 #========tomcat2======== worker.tomcat2.port=9009 worker.tomcat2.host=127.0.0.1 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=1 #======== 负载均衡指令 ======== worker.controller.type=lb #worker类型,定义了可用于worker的指令。lb用于负载均衡 worker.controller.retries=3 #请求失败以后重试次数 worker.controller.balance_workers=tomcat1,tomcat2 #参与负载均衡的Tomcat名, worker.controller.sticky_session=false #会话是否有粘性,false表示无粘性,同一个会话的请求会到不同的tomcat中处理 worker.controller.sticky_session_force=false #当一个节点蹦了,如果设值为true,那么服务器返回500错误给客户端,如果设值为false,则转发给其他的tomcat,但是会丢失回话信息
4.新建[d:\Server\Apache2.2\conf\mod_jk.conf]文件
JkWorkersFile "D:/Server/Apache2.2/conf/workers.properties" JkMount /* controller jkLogFile "D:/Server/Apache2.2/logs/mod_jk.log"
5.修改[d:\Server\Apache2.2\conf\httpd.conf]文件
在最后增加下面两行,加载jk模块和配置
LoadModule jk_module d:/Server/Apache2.2/modules/mod_jk.so Include "d:/Server/Apache2.2/conf/mod_jk.conf"
6)配置Tomcat
修改[D:\Server\tomcat1\conf\server.xml]文件,修改[AJP/1.3]connector,加入jvmRoute(参与负载均衡的worker名):
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" jvmRoute="tomcat1"/>
Tomcat2里面的server.xml也修改,为了port不重复,
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" jvmRoute="tomcat2"/>
7)测试
分别在Tomcat1和Tomcat2里创建同样webapp,通过浏览器访问,会发现根据负载因子的定义,分别访问Tomcat1,Tomcat2。
1.3 SSL
1.修改[d:\Server\Apache2.2\conf\httpd.conf]文件
把下面两行的注释删除
Include conf/extra/httpd-ssl.conf LoadModule ssl_module modules/mod_ssl.so
2.修改[d:\Server\Apache2.2\conf\httpd-ssl.conf]文件
修改证书字段[SSLCertificateFile]和证书key字段[SSLCertificateKeyFile]的文件地址
SSLCertificateFile "d:/Server/Apache2.2/conf/server.crt" SSLCertificateKeyFile "d:/Server/Apache2.2/conf/server.key"
(这里省略证书的作成)
3.测试
访问https://localhost,出现页面就OK。
4.需要负载均衡的话,需要在httpd-ssl.conf文件里加入
JkMount /* controller # controller是控制器名
2. API(Tomcat)
2.1 SSL
1.在提供AP服务的Tomcat实例的server.xml里,加入以下内容:
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false" maxThreads="25" port="8443" keystoreFile="d:\Server\tomcat.keystore" keystorePass="NNNNNN" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS" />
(这里省略tomcat.keystore的生成)
还有注意修改ajp协议的port,不要和负载均衡的Tomcat里的ajp协议port重复。
<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
2.测试
访问https://localhost:8443,可以看到Tomcat首页。
3.Reference:
1.Apache Tomcat Connectors:
https://tomcat.apache.org/connectors-doc/index.html
2.jk(Tomcat-Apache 插件,用来处理Tomcat 和 Apache之间的通信)
https://tomcat.apache.org/connectors-doc-archive/jk2/index.html
3.Tomcat SSL
https://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html#SSL_and_Tomcat
4.Tomcat集群
http://www.iteye.com/topic/1017961
5.Apache SSL
http://blog.csdn.net/happyqyt/article/details/9335397
6.Tomcat SSL
http://www.oschina.net/question/12_23148
End
相关推荐
通过生成SSL证书、重新编译Nginx以添加SSL模块,以及编辑Nginx配置文件实现HTTPS支持和负载均衡功能。此外,还提供了Nginx的基本操作命令,包括启动、停止和重启等。这些步骤和配置为构建安全可靠的Web服务器提供了...
【Nginx+Tomcat+SSL 实现负载均衡】是一个常见的Web服务器架构,用于提高网站的可用性和响应速度。Nginx作为前端反向代理服务器,处理静态内容和客户端请求,将动态请求转发到后端的Tomcat应用服务器,同时通过SSL...
在本教程中,我们将深入探讨如何在Linux环境中源码安装MySQL、MySQL主从复制、Nginx、Nginx负载均衡、Redis、PHP、phpredis以及Tomcat。这些技术是构建高效、可扩展的Web应用架构的基础。让我们逐一了解安装过程。 ...
这个程序包“tomcat7+nginx+memcached”旨在实现通过Nginx进行负载均衡,以及利用Memcache来共享Tomcat服务器之间的Session数据。以下是关于这个集成方案的详细解释: 1. **Nginx**: - **功能**:Nginx是一款高...
在IT行业中,构建高可用和安全的Web服务是至关重要的,而"部署haproxy+ssl+keepalived"正是实现这一...总的来说,haproxy+ssl+keepalived的组合为Web服务提供了强大的负载均衡和高可用性保障,是企业级应用的常见选择。
当两者整合时,可以实现更高效、灵活的Web服务架构,特别是在处理高并发和负载均衡方面。 Apache以其稳定性和丰富的模块扩展性著称,能够处理静态内容,如HTML、CSS、JavaScript等,以及反向代理和负载均衡等功能。...
Netty基础架构与核心组件 Netty事件模型与处理 ...Netty的集群与负载均衡策略 Netty在微服务架构中的应用 Netty与HTTP协议的交互 Netty的安全性与SSL/TLS集成 Netty的性能调优与监控 Netty实战:构建高性能服务器
在构建高可用性和安全性的网络服务时,"nginx负载均衡ssl证书认证强制跳转https+keeplived+apache"是一个常见的架构模式。该模式结合了Nginx的反向代理和负载均衡能力、Keepalived的高可用性保证以及SSL证书来确保...
负载均衡的关键技术包括但不限于:会话保持、健康检查、负载均衡算法、SSL卸载等。 - **会话保持**:确保同一用户的多个请求被转发到相同的服务器上。 - **健康检查**:定期检查后端服务器的状态,确保只有健康的...
在Linux环境下,构建一个基于Apache2和Tomcat7.0的SSL集群是一项关键任务,它涉及到网站的安全性和负载均衡。Apache作为前端服务器处理HTTPS请求,而Tomcat则作为后端应用服务器处理Java应用。以下是对这个配置过程...
### Nginx与Tomcat实现负载均衡的知识点详解 #### Nginx简介及特性 Nginx是一款由Igor Sysoev开发的高性能HTTP服务器和反向代理服务器,以其出色的稳定性和低系统资源消耗而著称。最初是为俄罗斯访问量排名第二的...
"NLB+ARR 搭载负载均衡方案" NLB(Network Load Balancing)和 ARR(Application Request Routing)是两种不同的负载均衡技术,NLB 是一种基于网络层面的负载均衡技术,而 ARR 是一种基于应用层面的负载均衡技术。...
对于大型环境,可能还需要使用负载均衡器,如Nginx,来分发SSL终止和请求转发。 总的来说,Apache+Tomcat+SSL配置是一个涉及多方面知识的过程,包括网络协议、服务器配置、安全策略等。通过正确配置和使用相关插件...
4. 集群配置:对于HTTP集群,可以通过负载均衡配置,比如轮询、权重分配等策略,将请求分发到多个Tomcat实例。对于HTTPS集群,配置过程类似,但所有HTTPS请求都通过Nginx进行加密和解密。 5. 测试和优化:启动Nginx...
### Oracle WEB服务负载均衡知识点详解 #### 一、负载均衡的重要性及应用场景 负载均衡技术在现代互联网服务中扮演着至关重要的角色,特别是在Oracle环境中。随着电子商务的快速发展,企业越来越依赖其官方网站与...
【F5负载均衡会话保持】是网络架构中一种关键的技术,主要应用于大型网络环境,尤其是需要处理大量并发用户请求的场景,例如电子商务网站、银行系统等。F5的BIG-IP产品是一款强大的负载均衡器,它能够有效地管理和...
### 负载均衡原理与实现方案 #### 一、负载均衡原理 负载均衡是一种用于在网络中分散工作负载的技术,其主要目的是优化资源利用、提高响应速度和避免单点故障。负载均衡通常应用于多服务器环境,通过对服务器之间...
2. **全面的功能体验**:SoftAX包含了A10负载均衡器的主要特性,如会话持久性、健康检查、SSL卸载、应用加速以及多种负载分配算法等,用户可以深入理解和实践这些功能。 3. **教学与实验**:对于学习者,SoftAX提供...
F5负载均衡器BIG-IP LTM 1500技术参数指标和性能备注 F5负载均衡器BIG-IP LTM 1500是美国F5公司出品的一种高性能的负载均衡器设备。该设备具有强大的处理能力、高速的网络传输速度和高可用性,能够满足大规模网络...
- 七层负载均衡如Nginx和HAproxy则适合需要更复杂路由策略的情况,如基于URL的路由或者需要进行SSL卸载等高级功能。 - 实际部署中应根据具体需求选择合适的负载均衡方案,同时考虑到性能、可维护性和成本等因素。