在我自己的私有云上​​构建和托管我的 Web 应用程序

在我自己的私有云上​​构建和托管我的 Web 应用程序

我已经使用 ubuntu 12.04 LTS 创建了一个私有云。我有一个 maas 主服务器。在该服务器上,我想托管用 java、tomcat 和 mysql 编写的 Web 应用程序。我的 maas 主服务器 IP 地址是 192.168.43.191,DNS 名称是 ubuntucloud。因此,当我从浏览器调用它时,例如 (http: ubuntucloud),我可以看到“它正在工作。这是此服务器的默认网页。Web 服务器软件正在运行,但尚未添加任何内容”这句话。在 eclipse 中运行 tomcat 服务器时,我可以像 (http: ubuntucloud:8080/IRMultiAgent/) 一样调用我的 Web 应用程序。我想像 (http://www.ir_multi_agent/)。如何做到这一点? ps:由于错误,我省略了帖子中的一些“/”

答案1

您可以使用以下方式配置 Apache Web 服务器,将请求转发到 Tomcat mod_jkApache Tomcat 连接器)。设置一个 Apache vhost,它充当某种代理来与 Tomcat 通信,并且还能够重写 URL。因此,ubuntucloud:8080/IRMultiAgent/可以通过例如irmultiagent.ubuntucloud/(智能操作指南

由于您已将域配置ubuntucloud为指向您的服务器,因此您应该也能够为设置这样的 DNS ir_multi_agent。两者都可以指向同一个 IP。只需确保ServerName正确配置 Apache 配置中的 vhosts 指令即可。

答案2

最简单的方法是将名称添加ir_multi_agent/etc/hosts文件中。为此,请使用sudo vi /etc/hosts或编辑该文件sudo nano /etc/hosts并添加以下行

192.168.43.191    ir_multi_agent

从那时起,您将能够浏览http://ir_multi_agent:8080/IRMultiAgent和访问您的应用程序。

要删除:8080该 URL 中的 ,您有两个选择:

  1. 通过编辑文件中的端口号,在默认 http 端口 (80) 上运行 Tomcat conf/server.xml。请注意,这要求您以 root 身份运行 Tomcat。
  2. 在 Tomcat 服务器前面使用反向代理,这需要安装和配置 http 服务器,例如阿帕奇2或者nginx

现在,您的 URL 已变为http://ir_multi_agent/IRMultiAgent。要删除IRMultiAgent上下文根,您同样有两个选择:

  1. 将应用程序部署为ROOTTomcat 上的 Web 应用程序。也就是说,将其放在文件夹中webapps/ROOT
  2. 在反向代理上使用重写规则。

就这样,您就有了自己的 Web 应用程序http://ir_multi_agent/

在开始这一切之前,请考虑莎士比亚的智慧。URL 不过是一个名称。

相关内容