`

Apache+mod_jk+Tomcat(5)-----Apache 基于端口的virtual host

阅读更多

虚拟主机(Virtual Host)

 

概念:同一台机器上搭建属于不同域名或者基于不同IP的多个网站服务技术,可以为运行在同一台物理机器上的各个网站指配不同的IP和端口,也可以让多个网站拥有不同的域名。

根据需求创建虚拟主机

 

1.需求

同一台主机上运行两套应用程序,通过端口区分(基于端口的虚拟主机)(一套程序是通过50001端口,另外一套是通过50002端口),基于之前搭建的环境上。

 

2.实施内容

1)因为虚拟主机是基于端口的,所以修改配置文件/etc/httpd/conf/httpd.conf

Listen 80

Listen 50001

Listen 50002

 

2)定义虚拟主机的配置文件

 

第一个虚拟主机的配置文件

/etc/httpd/conf.d/virtual.d/virtual1.conf

<VirtualHost *:50001>
   ServerName 192.168.100.29
   DocumentRoot "/var/www/html_virtual1"
   <Directory /var/www/html_virtual1>
     Options  FollowSymLinks
     AllowOverride None
     Require all granted
   </Directory>
   CustomLog logs/access_virtual1_log combined env=!nolog
   ErrorLog logs/error_virtual1.log
   ErrorDocument 400 /error/40X.json
   ErrorDocument 401 /error/40X.json
   ErrorDocument 403 /error/40X.json
   ErrorDocument 404 /error/40X.json
   ErrorDocument 405 /error/40X.json
   ErrorDocument 408 /error/40X.json
   ErrorDocument 410 /error/40X.json
   ErrorDocument 411 /error/40X.json
   ErrorDocument 412 /error/40X.json
   ErrorDocument 413 /error/40X.json
   ErrorDocument 414 /error/40X.json
   ErrorDocument 415 /error/40X.json
   ErrorDocument 500 /error/50X.json
   ErrorDocument 501 /error/50X.json
   ErrorDocument 502 /error/50X.json
   ErrorDocument 503 /error/50X.json
   ErrorDocument 506 /error/50X.json
   Alias /error/ "/var/www/error_virtual1/"
   IncludeOptional conf.d/mod_jk_virual1.conf
 </VirtualHost>

第二个虚拟主机的配置文件

 

/etc/httpd/conf.d/virtual.d/virtual2.conf

<VirtualHost *:50002>
   ServerName 192.168.100.29
   DocumentRoot "/var/www/html_virtual2"
   <Directory /var/www/html_virtual2>
     Options  FollowSymLinks
     AllowOverride None
     Require all granted
   </Directory>
   CustomLog logs/access_virtual2_log combined env=!nolog
   ErrorLog logs/error_virtual2.log
   ErrorDocument 400 /error/40X.json
   ErrorDocument 401 /error/40X.json
   ErrorDocument 403 /error/40X.json
   ErrorDocument 404 /error/40X.json
   ErrorDocument 405 /error/40X.json
   ErrorDocument 408 /error/40X.json
   ErrorDocument 410 /error/40X.json
   ErrorDocument 411 /error/40X.json
   ErrorDocument 412 /error/40X.json
   ErrorDocument 413 /error/40X.json
   ErrorDocument 414 /error/40X.json
   ErrorDocument 415 /error/40X.json
   ErrorDocument 500 /error/50X.json
   ErrorDocument 501 /error/50X.json
   ErrorDocument 502 /error/50X.json
   ErrorDocument 503 /error/50X.json
   ErrorDocument 506 /error/50X.json
   Alias /error/ "/var/www/error_virtual2/"
   IncludeOptional conf.d/mod_jk_virual2.conf
 </VirtualHost>

 

3)为了让apache启动时,加载这两个配置文件,在/etc/httpd/conf/httpd.conf中追加下面的配置

IncludeOptional conf.d/virtual.d/*.conf

 

4)分别创建两条虚拟主机的文档目录,并在里面放上需要访问的html资源

mkdir /var/www/html_virtual1

virutal1test.html

mkdir /var/www/html_virtual2

 virutal2test.html

 

5)从上面各自虚拟主机的配置文件来看,都定义了各自的mod_jk文件,所以创建mod_jk文件,worker还是使用以前定义好的tomat1.

 

/etc/httpd/conf.d/mod_jk_virtual1.conf

<IfModule mod_jk.c>

JkMount /virtual1/* tomcat1

</IfModule>

 

/etc/httpd/conf.d/mod_jk_virtual2.conf

<IfModule mod_jk.c>

JkMount /virtual2/* tomcat1

</IfModule>

 

6)在tomcat里放上两个war包,一个名叫virutal1,virtual2

 

7)重启apache,重启tomcat

systemctl restart httpd

 

/opt/tomcat/bin/shutdown.sh

/opt/tomcat/bin/startup.sh

 

8)测试apache的静态资源是否能正常访问

http://192.168.100.29:50001/virtual1test.html

结果:正常显示

 

http://192.168.100.29:50002/virtual2test.html

结果:正常显示

 

9)确认log

/var/log/httpd/access_virtual1_log

10.0.210.135 - - [03/Aug/2017:15:34:59 +0900] "GET /virtual1test.html HTTP/1.1" 200 53 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)"

 

/var/log/httpd/access_virtual2_log

10.0.210.135 - - [03/Aug/2017:15:45:54 +0900] "GET /virtual2test.html HTTP/1.1" 200 53 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)"

 

10)通过apache&mod_jk&tomcat访问tomcat的资源

http://192.168.100.29:50001/virtual1/index.jsp

结果:正常显示

 

http://192.168.100.29.50002/virtual2/index.jsp

结果:正常显示

 

11)确认log

/var/log/httpd/access_virtual1_log

10.0.210.135 - - [03/Aug/2017:15:52:15 +0900] "GET /virtual1/index.jsp HTTP/1.1" 200 290 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)"

 

/var/log/httpd/access_virtual2_log

10.0.210.135 - - [03/Aug/2017:15:52:55 +0900] "GET /virtual2/index.jsp HTTP/1.1" 200 286 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)"

 

总结:总体来说,配的很顺利,但是对于一些概念,还需要学习,比如对于ServerName的概念,我就不是特别理解。看到httpd.conf里的解释是这样的解释的

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#

If your host doesn't have a registered DNS name, enter its IP address here.

分享到:
评论

相关推荐

    Apache+Tomcat+mod_jk+mod_ssl配置笔记

    Apache、Tomcat、mod_jk和mod_ssl是构建高效、安全的Java web应用程序服务器环境的关键组件。本配置笔记将深入探讨如何将这些组件整合在一起,实现动态内容的处理和HTTPS安全连接。 首先,Apache HTTP Server作为...

    Apache2.4服务器+mod_jk.so

    mod_jk.so是Apache的负载均衡模块,它通过Apache与Tomcat之间的通信协议(Jk或JK2)来实现这种协同工作。 首先,我们需要理解Apache2.4和mod_jk.so的关系。Apache2.4是Apache HTTP服务器的第2.4版本,提供了许多...

    Tomcat+Apache+JK集群

    5. **配置VirtualHost或Location:** 使用`JkMount`指令将特定URL或所有动态请求映射到JK模块,这样请求就会被转发到Tomcat实例处理。 6. **启动和测试:** 重启Apache服务,通过访问网站测试集群是否正常工作。可以...

    tomcat集群配置所需要的apache和mod_jk-apache-2.0.55.so

    本压缩包提供了实现Tomcat集群配置所需的Apache服务器和mod_jk模块,具体版本为Apache 2.0.55和mod_jk-apache-2.0.55.so。 Apache HTTP Server是一个开源的Web服务器,它能够处理静态HTML文件和动态内容,如PHP、...

    apache2.4+tomcat7+mod_jk.so_整合配置

    - **编辑 ajp.conf 或者 virtual host 配置**:在 Apache 配置中添加对 mod_jk 的引用,如 `JkMount /app worker1`,这意味着所有 `/app` 开头的请求都将被转发到名为 `worker1` 的 Tomcat 实例。 - **重启 Apache...

    apache2.2与tomcat6.x+mod_jk整合

    - **配置VirtualHost**:在Apache的VirtualHost中设置`JkMount`指令,指定哪些URL请求转发给Tomcat处理。 3. **负载均衡与故障转移** 在worker.properties中,可以通过配置多个worker来实现负载均衡,每个worker...

    apache2.2 服务器 mod_jk.so

    5. **安装Tomcat**:确保Tomcat已安装并运行,AJP端口(默认8009)处于监听状态,以便接收来自Apache的请求。 6. **测试配置**:完成上述步骤后,重启Apache服务器,然后访问配置的URL,看是否能正确路由到Tomcat并...

    mod_jk-1.2.31-httpd-2.2.3.so.zip

    《Apache + Tomcat 整合:mod_jk与反向代理详解》 在Web服务器与应用服务器的集成中,Apache HTTP Server(简称Apache)和Tomcat的组合是常见的选择。Apache作为静态资源处理的专家,而Tomcat则擅长处理Java应用。...

    httpd mod_jk.so

    4. 在Apache的VirtualHost或Location配置中,设置URL重写规则,让特定的请求通过mod_jk转发到Tomcat。 5. 重启Apache服务器以使更改生效。 通过这种方式,mod_jk.so使得Apache能够作为前端服务器,处理静态内容,而...

    Apache2.4+tomcat8.0+Jk

    5. 更新Apache的VirtualHost配置,添加JKMount指令来指定哪些URL路径应由Tomcat处理。 在Tomcat侧,需要配置server.xml文件中的Connector元素,启用AJP支持。此外,为了监控和管理JK模块,可以安装和配置mod_status...

    Apache动态域名+JK+Tomcat添加Tomcat系统服务 集群

    编辑Apache的`httpd.conf`文件,加载mod_jk模块,并配置虚拟主机指向Tomcat服务。 **步骤四:配置Tomcat** - 修改Tomcat的`server.xml`文件,配置AJP连接器。 - 添加系统服务:通过“控制面板”→“管理工具”→...

    端口整合资源mod_jk

    本知识点将详细讲解如何通过`mod_jk`模块进行端口整合,以及如何使用`mod_jk-1.2.26-httpd-2.2.4.so`与`apache_2.2.4-win32-x86-no_ssl`和`tomcat-4.1.18-win`版本进行配置。 `mod_jk`是Apache HTTP Server的一个...

    Apache + Tomcat + jk配置负载均衡以及虚拟主机 实现多域名、多用户同时使用

    ### Apache + Tomcat + JK配置负载均衡及虚拟主机详解 #### 一、概述 在现代Web应用开发中,为了提高服务器资源的利用率和系统的可扩展性,常常需要在一个物理服务器上部署多个不同的Web应用程序,每个应用程序可能...

    整合Apache+tomcat并使Apache 配置支持HTTPS的SSL证书 10天 不解释 绝对可用

    - **mod_jk**: 用于Apache与Tomcat之间的通信 **环境变量配置**: 1. **JAVA_HOME**: 指向JDK的安装路径,例如 `D:\Java\jdk1.8.0_161`。 2. **CLASSPATH**: 设置为 `.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\...

    Apache2.2+Tomcat5.5整合配置教程

    Apache Connector(也称为mod_jk)用于连接Apache和Tomcat,可以从&lt;http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/&gt;获取,务必选择与Apache版本匹配的jk模块,例如mod_jk-1.2.26-httpd-...

    Windows平台上的Apache+Tomcat配置指南收集.pdf

    从Apache Tomcat Connectors项目(http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/win32/)下载与Apache版本匹配的mod_jk模块,例如jk-1.2.27-httpd-2.2.10.so。将.so文件复制到Apache的...

    windows apache http 2.2+tomcat6.0.29

    4. **配置mod_jk**:编辑mod_jk.conf文件,设定工作线程数、连接超时、Tomcat服务器的地址和端口等参数。此外,还需要定义worker,例如`worker.list=worker1`,并设置worker属性,如`worker.worker1.host=your_...

    apache+tomcat集群加模块方案,可行

    在本方案中,我们将讨论如何在Apache服务器上添加mod_jk模块来实现与Tomcat集群的集成。 Apache HTTP Server是开源的Web服务器,它支持多种模块以增加功能。`mod_jk`是Apache的一个模块,专门用于与Apache Tomcat...

    apache_tomcat_整合实例

    - **mod_jk-1.2.26-httpd-2.0.59.so**:Apache模块,用于Apache与Tomcat之间的通信。 - **JDK 1.4**:Java开发工具包,Tomcat运行的基础。 安装顺序为先安装Apache,再安装Tomcat和其他相关组件。 ##### 2. 配置...

    apache,tomcat,jk集群配置

    5. **配置VirtualHost**:在Apache的配置中,为每个需要负载均衡的域名或者路径设置一个VirtualHost,并通过`JkMount`指令将特定的URL映射到相应的Tomcat实例。例如: ``` &lt;VirtualHost *:80&gt; ServerName example...

Global site tag (gtag.js) - Google Analytics