[转]Apache+Tomcat 同一IP多域名多网站配置

最近帮人用Apache+Tomcat在同一台IP的服务器上设置多域名指向不同网站站点,花费了不少的时间。尤其是配置信息的时候,从网上找的资料有很多是错误的,误认不浅。所以今天特意把它记下来,以备后面使用。

首先说一下我的需求是这样:apache作为前端分发器,把域名解析的内容转发到后台的Tomcat上去,tomcat也只有一个,但拥有2个不同的实例。就是分别是2个不同的网站。不要根据不同域名转向tomcat后台不同的网站上去。

现在开始讲讲配置流程:

1.进入apache的htpd.conf中配置:

#如果有2个以上域名必须写这句,要不会出错。

NameVirtualHost   *:80
<VirtualHost   *:80>
        ServerAdmin   [email protected]

#网站放置的路径
        DocumentRoot   /*****/ROOT

#申请的域名
        ServerName   *****.com
      #通过mode_jk把所有该域名的http请求转发到worker3申明的tomca下
        JkMount /* worker3

#错误信息打印的日志
        ErrorLog   /usr/local/apache2/logs/error_log
        #CustomLog  /usr/local/apache2/logs/access_log
</VirtualHost>

#设置改路径下的权限为:可访问、可读、可写

<Directory /home/tomcat/tomcat/webapps/ROOT>
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

#和上面一样的配置

<VirtualHost   *:80>
        ServerAdmin   [email protected]
        #另一个网站路径

DocumentRoot  /*****/company

#另一个域名
        ServerName   *****.com
       #所有该域名下的请求发到ankaisteel申明的tomcat下

JkMount /* ankaisteel
        ErrorLog   /usr/local/apache2/logs/error_log
        #CustomLog   /usr/local/apache2/logs/access_log
</VirtualHost>

<Directory /home/tomcat/tomcat/webapps/company>
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

#引用mod_jk的配置文件

Include conf/mod_jk.conf

2.我们来配置workers.properties

#apache需要分发到后台tomcat域名的列表

worker.list=worker3,ankaistee

# Set properties worker3 for tomcat (ajp13)
worker.worker3.type=ajp13

#这个名称一定要和tomcat的虚拟主机名配置成一样
worker.worker3.host=localhost
worker.worker3.port=8010
worker.worker3.lbfactor=50
worker.worker3.connection_pool_size=512
worker.worker3.connection_pool_timeout=600
worker.worker3.socket_keepalive=1
worker.worker3.socket_timeout=60
#worker.worker3.cachesize=10
#worker.worker3.cache_timeout=600
#worker.worker3.recycle_timeout=300

# Set ankaisteel for tomcat (ajp13)
worker.ankaisteel.port=8010
#这个名称一定要和tomcat的虚拟主机名配置成一样

worker.ankaisteel.host=*****.com
worker.ankaisteel.type=ajp13
worker.ankaisteel.lbfactor=1

3.我们来配置uriworkermap.properties

#这两个配置不是很确定,没有测试过没有这两句行不行

/*=ankaisteel
/*=worker3

4.配置tomcat的server.xml

在server.xml的最后面加上:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      <Context docBase="/usr/local/tomcat/webapps/ROOT" path="" reloadable="true"/>
      </Host>
      <Host name="*****.com"  appBase="webapps"
               unpackWARs="true" autoDeploy="true"
               xmlValidation="false" xmlNamespaceAware="false">
      <Context docBase="/usr/local/tomcat/webapps/company" path="" reloadable="true"/>

这里name一定要和前面host一致,path参数一定不要写。

综上所述就可以配置成功了!重启apache和tomcat,看看效果吧

时间: 2024-08-24 17:42:09

[转]Apache+Tomcat 同一IP多域名多网站配置的相关文章

Apache 2.4.6 多域名多网站配置

参考链接:How To Set Up Apache Virtual Hosts on CentOS 7      近日因为需要,需要在一个公网IP的服务器上配置多个网站,不同的域名访问不同的网站,用到了Apache的Virtualhost     系统环境:centos 7 + apache 2.4.6  + php  + mysql # 创建网站目录 mkdir -p /var/www/shuaiqijun.com/public_html    #  帅旗军个人博客  mkdir -p /va

使用apache设置绑定多个域名或网站

一台服务器安装了Apache,如何绑定多个域名或网站呢? 最简单高效的方法如下: 1.  先打开Apache的配置文件httpd.conf,在这个文件, 找到这句:“#Include etc/extra/httpd-vhosts.conf” (根据安装路径不同,上面的路径会略有不同) 把前面的#曲调,即开启了使用虚拟主机的功能: 2.  在httpd-vhosts.conf中进行虚拟主机的配置操作:也可以在httpd.conf直接写入配置,但是 不建议这么做: 3.  打开httpd-vhost

Apache Tomcat下载、安装、环境变量配置以及项目部署

前言 针对在本地访问文件或资源出现的跨域问题,可以通过搭建本地服务器来解决,本篇随笔主要介绍通过搭建Apache Tomcat服务器来解决跨域.包括Apache Tomcat的下载.安装.环境变量的配置以及项目部署等. 具体内容 一.Apache Tomcat的下载 Apache Tomcat下载网址:https://tomcat.apache.org/ 选择下载版本,现在最新的版本是Tomcat 9.0.27.这里下载最新版本,单击"Download",进入到下载页面,如下图所示:

tomcat 绑定 ip 及域名,限制非法域名访问

公司WEB 采用linux+tomcat架构.经常会收到电信的警告,说某个IP下挂用了未备案域名,如果不处理就封IP.鉴于此,需要将tomcat的访问地址进行限制,只允许通过IP地址或者自己指定的域名来访问. 配置tomcat/conf/server.xml 文件,找到下面部分: 此处defaulthost="localhost" 改为"forbidden" ,表示默认所有访问都是禁止.然后在<host name> 部分添加允许访问的地址和目录 --&g

nginx+tomcat实现单ip,多域名,多项目配置,session有效

首先,多域名解析到单ip在此不做叙述 空间提供商一般都会有此类解析服务 1.首先看nginx如何配置多域名 多域名意味着多个server节点,假如我们有域名www.a.com和www.b.com,我们可以如下配置 server { listen 80; server_name www.a.com; } server { listen 80; server_name www.b.com; } 这两个节点都监听在80端口,这样在浏览器访问两个域名就都会访问此nginx服务器了 2.再看如何把不同的网

虚拟机上有关于Apache服务基于IP地址@3IP访问网站

1.首先我们要用nmtui命令为网卡添加多个IP地址(192.168.24.101/102/103) 重新启动一下网卡 systemctl restart network 并且和各个网址IP都ping一下  我这里显示都成功了 2.分别在/home/wwwroot创建网站数据目录 mkdir -p /home/wwwroot/101 mkdir -p /home/wwwroot/102 mkdir -p /home/wwwroot/103 分别在这三个网站数据目录中写入主页文件,内容为该网站的I

apache如何绑定多个域名和设置默认文档顺序

一台服务器安装了Apache,如何绑定多个域名或网站呢? 最简单高效的方法如下: 1.  先打开Apache的配置文件httpd.conf,在这个文件, 找到这句: #Include etc/extra/httpd-vhosts.conf (根据安装路径不同,上面的路径会略有不同) 把前面的#去掉,即开启了使用虚拟主机的功能: 2.  在httpd-vhosts.conf中进行虚拟主机的配置操作:也可以在httpd.conf直接写入配置,但是 不建议这么做: 3.  打开httpd-vhosts

Apache Tomcat安装、配置、启动与后续操作步骤

1.第一,我们在安装Apache Tomcat之前,我们首先安装和配置好jdk: 2.第二,我们要清楚自己的jdk版本.因为我们Apache Tomcat配置的成功的前提是版本相对应.在这里,博主是用下图的jdk版本: 所以,我们下载Apache Tomcat的时候也要找到Tomcat相应版本. 3.下载官方网址链接:http://tomcat.apache.org/download-70.cgi: 按照箭头指向的地方进行下载即可完成下载部分.PS:博主用的电脑是win7 32位的,所以读者们请

apache服务搭建虚拟目录和多网站,同端口同ip不同域名及同ip同域名不同端口号设置。

pache是一款Web服务器软件,有多种产品,可以支持SSL技术,支持多个虚拟主机. 它快速.可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中. 实验环境 一台linux6.5,ip为192.168.10.20.,DNS服务器ip地址为192.168.10.20: 一.创建虚拟目录配置 1.进入主配置文件设置 2.写入网页内容 3.去访问网页 4.创建虚拟目录 5.使用http://192.168.10.20/test/进行访问 二.搭建虚拟主机同端口同Ip不同域名