具体来说,我使用 Apache 2 并将端口 80 重定向到 Tomcat 安装。在 tomcat 中,我可以设置多个应用程序,它们的引用方式如下:
http://11.111.111.1/Test1
http://111.11.111.1/Test2
我有一个静态 IP,我希望能够根据应用程序架构在 tomcat 或 apache 上托管多个网站,但如何将我的域名指向我的静态 IP 和网站特定的子目录?我使用 domain.com 来管理我的域名,但似乎我只能指向一个 IP 地址(不允许添加子目录)。
我是否应该使用这里描述的虚拟主机:apache 重写以将文件夹分配给域
这是否可以以某种方式确定调用域名并将其路由到正确的目录,而不管同一个 IP 是否在多个域名上使用?
答案1
是的,你可以在一个 IP 上拥有多个 tomcat 和/或 apache 站点
执行上述操作涉及以下步骤:
对于 tomcat 站点:
- 将应用程序部署到 tomcat 端口(如 8080 或 9090 等)
- 安装 apache webserver。通过 mod_jk 安装并配置 apache JK 连接器,以便 apache webserver 可以与 tomcat 应用服务器通信
- 对于 apache-tomcat jk 连接器,通过 apache conf 目录中的 worker.properties 文件配置 worker。每个 tomcat 应用程序都必须配置 1 个 worker。因此,如果您有 3 个 tomcat 站点,则需要 3 个 worker,每个 worker 都监听特定端口。
- 创建 apache 虚拟主机配置(通过更改 httpd.conf 文件)并配置端口 80 和 443(如果使用 SSL)。例如,如果您有 4 个 tomcat 站点,则需要 4 个虚拟主机。在每个虚拟主机中,您必须指定其相应的工作程序
就是这样
==========如果是纯apache网站门户,没有tomcat,上面第4步就够了。
答案2
您的“域名”只能“指向”一个 IP 地址。Web 浏览器连接到该地址,然后发送请求 URL。通常不使用任何路径来获取主页。要让浏览器转到特定路径,请使用带有该路径的 URL。
使用大多数 Web 服务器软件,在一个 IP 地址上运行多个(非 HTTPS)网站很容易。主机名随 HTTP 请求一起传输(非常旧的 HTTP/1.0 使用情况除外),Web 服务器使用其 VirtualHost 配置(或等效配置方法)对其进行分类。有什么原因不能使用它吗?不是每个人都知道发生了什么,所以我可以理解为什么有人会认为他们需要单独的 IP 或其他技巧。
仅供参考,对于通过 HTTPS 的安全网络,您确实需要单独的 IP(或对于同一域名内单独的主机名,需要通配符 SSL 证书),或者在重定向到 HTTPS URL 的情况下,可以使用单独的端口号。