在VPS上将war文件部署到Tomcat

Dre*_*208 8 apache tomcat java-ee java-ee-7 tomcat8

我在我的VPS上部署war文件时遇到了很多问题.

我有java-8和tomcat-8.我的服务器是Apache/2.2.22(Debian),我的HTTP在端口80上,tomcat在8080上.

目前,如果您访问www.drew-jocham.com,则会列出一个空目录.但是,如果您访问www.drew-jocham.com:8080/resumesite,您将获得在tomcat上运行的页面.

当然,我要做的是让用户输入www.drew-jocham.com而不是端口等.

到目前为止,我已经设置了一个虚拟主机 nano /etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>
    ServerAdmin drew@drew-jocham.com

    ServerName www.drew-jocham.com
    ServerAlias drew-jocham.com

    ProxyPass /resumesite http://localhost:8080/resumesite
    ProxyPassReverse /resumesite http://localhost:8080/resumesite
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在tomcat中我的server.xml文件中我设置了一个 <Host></Host>

<Host name="www.drew-jocham.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>
Run Code Online (Sandbox Code Playgroud)

通过上面的设置,每个域都只列出了我的VPS目录.此时我不知道该怎么办.

我的问题是:

我希望用户输入www.drew-jocham.com而不是www.drew-jocham.com:8080/resumesite.我试图这样做,但就像我上面说的,我的VPS上的每个域都只是用上面的设置列出我的服务器整个目录.

很快所有网站都将成为战争文件,因此服务器上会有多个域名.有些将直接存储在tomcat webapps中,有些则存储在端口80上的HTTP服务器上.

-------------------更新1 -------------------

我去nano /etc/apache2/sites-enabled/000-default.conf添加以下内容并重新启动我的tomcat服务器.

<VirtualHost *:80>
    ServerAdmin drew@drew-jocham.com

    ServerName www.drew-jocham.com
    ServerAlias drew-jocham.com

    ProxyPass / http://localhost:8080/resumesite
    ProxyPassReverse / http://localhost:8080/resumesite
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

当我去www.drew-jocham.com时,除了以下图片之外,仍然没有任何渲染:

在此输入图像描述

它还将www.drew-jocham/resumesite添加到我的VPS上的每个域中,其中我有几个,从而打破了它们.

但是,如果我仍然去www.drew-jocham.com:8080/resumesite它渲染.

Sam*_*Sam 4

我读到你的问题是因为你希望 www.drew-jocham.com 的根目录为你提供 TomCat 服务的内容http://localhost:8080/resumesite

<VirtualHost *:80>
    ServerAdmin drew@drew-jocham.com

    ServerName www.drew-jocham.com
    ServerAlias drew-jocham.com

    ProxyPass / http://localhost:8080/resumesite
    ProxyPassReverse / http://localhost:8080/resumesite
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这份关于反向代理的数字海洋指南是关于该主题的一本很好的读物,其中包括许多您可能会发现有用的 Apache 配置项(例如 SSL) - https://www.digitalocean.com/community/tutorials/how-to-use- apache-http-server-as-reverse-proxy-using-mod_proxy-extension