【发布时间】:2016-08-23 23:07:23
【问题描述】:
在我的 VPS 上部署我的 war 文件时遇到很多问题。
我有 java-8 和 tomcat-8。我的服务器是 Apache/2.2.22 (Debian),我的 HTTP 在端口 80 上,tomcat 在 8080 上。
目前,如果您访问 www.sdfasdfasdf.com,您会看到一个空目录。但是,如果您访问 www.asdfasdf.com:8080/resumesite,您会看到我在 tomcat 上运行的页面。
我想要做的自然是让用户输入 www.asdfasdffd.com 而不是端口等。
到目前为止,我已经在nano /etc/apache2/sites-enabled/000-default.conf设置了一个虚拟主机
<VirtualHost *:80>
ServerAdmin fdfdf@asdfasdf.com
ServerName www.sdfasdf.com
ServerAlias asdfasdf.com
ProxyPass /resumesite http://localhost:8080/resumesite
ProxyPassReverse /resumesite http://localhost:8080/resumesite
</VirtualHost>
在 tomcat 的 server.xml 文件中,我设置了一个 <Host></Host>
<Host name="www.asdfasdffasdf.com" appbase="webapps"
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="resumesite_log." suffix=".txt"
pattern="common"/>
</Host>
通过上述设置,每个域都只列出了我的 VPS 目录。此时我不知道该怎么办。
我的问题是:
我希望用户输入 www.asdfasdfasdf.com 而不是 www.drew-jocham.com:8080/resumesite。我正在尝试这样做,但就像我上面所说的,我的 VPS 上的每个域都只列出了我的服务器整个目录以及上述设置。
很快所有站点都将成为战争文件,因此服务器上将有多个域名。有些将存储在 tomcat webapps 中,有些将直接存储在我的 HTTP 服务器的 80 端口上。
-------------------更新 1-------
我去了nano /etc/apache2/sites-enabled/000-default.conf添加了以下内容并重新启动了我的tomcat服务器。
<VirtualHost *:80>
ServerAdmin fasdfad@asdfasdfasdf.com
ServerName www.asdfasdfadf.com
ServerAlias asdfasdfadf.com
ProxyPass / http://localhost:8080/resumesite
ProxyPassReverse / http://localhost:8080/resumesite
</VirtualHost>
当我去 www.asdfasdfasdf.com 时,除了下图之外什么都没有渲染:
它还将 www.asdfasdf/resumesite 添加到我的 VPS 上的每个域中,我有几个域,从而破坏了它们。
但是,如果我仍然去 www.asdfasdfasdf.com:8080/resumesite 它会呈现。
【问题讨论】:
-
@SureshKoya 对不起,如果我不够清楚。请阅读我对我的帖子的最后评论。
-
只是想从下往上解开谜团,在这里。当您将浏览器指向drew-jocham.com:8080/resumesite 时会发生什么?它是否只列出目录的内容,正如您在尝试代理时看到的那样?
-
@BradBales 不,它会呈现我的页面。
-
如果此 VPS 主机上还有其他站点,并且您在 000-default.conf 文件中具有 draw-jocham.com 的配置,则可能是 apache 中的站点配置冲突问题。您是否尝试过运行 apachectl configtest 来识别任何警告或错误。将站点配置分开是最佳实践,可能有助于解决问题。是否所有其他 VirtualHost 配置都设置了 ServerName。
-
在 Apache 中使用基于主机的服务器名称而不是基于 IP 的 Apache 2.22 版本httpd.apache.org/docs/2.2/vhosts/name-based.html
标签: apache tomcat jakarta-ee tomcat8 java-ee-7