Apache+tomcat实现应用服务器集群
阅读原文时间:2022年03月27日阅读:1

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)

 - 选择一个版本下载即可,把压缩包解压到自己想放的位置

配置

  • 将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


    • 在tomcat1的目录下打开tomcat2/conf/server.xml,修改HTTP/1.1端口号为:8082,修改AJP,修改server port为8006


  • 修改一下tomcat/conf/logging.properties,把编码改成GBK,防止乱码

  • 点击bin/startup.bat启动服务,查看http://localhost:8081,启动成功。

  • 此时可以替换两个tomcat中webapps的index文件改为自己的index.html 如下

  • http://localhost:8081/sample1/index.html

  • http://localhost:8082/sample2/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"

    此时查看网页,配置成功。

    (http://localhost:90/sample2/)

    (http://localhost:90/sample1/)

  • (学习原文:https://blog.csdn.net/weixin_34367257/article/details/91829500