0

我有一个带有 Ubuntu 18 操作系统的 VPS 服务器在这个 VPS 中,我安装了 VESTA CP,它带有 Apache 2 和 Nginx。之后,我安装了 Tomcat 9(端口 8082)来提供基于 Java Spring 的 webapp。如果我输入地址“serverIP:8082/AppFolder”我可以访问应用程序,但我想将apache服务器重定向到tomcat,所以我可以写域名并加载webapp。

我已经尝试过 .htaccess 文件,但它显示了一个 apache 错误页面。我无权查看此文件是该消息。

我能做些什么来解决这个问题?

-Nginx 配置:

location / {
    proxy_pass      http://IP:8080;
    location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
        root           /home/admin/web/webapp.com/public_html;
        access_log     /var/log/apache2/domains/webapp.com.log combined;
        access_log     /var/log/apache2/domains/webapp.com.bytes bytes;
        expires        max;
        try_files      $uri @fallback;
    }
}

location /error/ {
    alias   /home/admin/web/webapp.com/document_errors/;
}

location @fallback {
    proxy_pass      http://IP:8080;
}

-Apache 配置:

<VirtualHost IP:8080>

    ServerName webapp.com
    ServerAlias www.webapp.com
    ServerAdmin info@webapp.com
    DocumentRoot /home/admin/web/webapp.com/public_html    
    ScriptAlias /cgi-bin/ /home/admin/web/webapp.com/cgi-bin/
    Alias /vstats/ /home/admin/web/webapp.com/stats/
    Alias /error/ /home/admin/web/webapp.com/document_errors/
    #SuexecUserGroup admin admin
    CustomLog /var/log/apache2/domains/webapp.com.bytes bytes
    CustomLog /var/log/apache2/domains/webapp.com.log combined
    ErrorLog /var/log/apache2/domains/webapp.com.error.log
    <Directory /home/admin/web/webapp.com/public_html>
        AllowOverride All
        Options +Includes -Indexes +ExecCGI
        php_admin_value open_basedir /home/admin/web/webapp.com/public_html:/home/admin/tmp
        php_admin_value upload_tmp_dir /home/admin/tmp
        php_admin_value session.save_path /home/admin/tmp
    </Directory>
    <Directory /home/admin/web/webapp.com/stats>
        AllowOverride All
    </Directory>

    <IfModule mod_ruid2.c>
        RMode config
        RUidGid admin admin
        RGroups www-data
    </IfModule>
    <IfModule itk.c>
        AssignUserID admin admin
    </IfModule>

    IncludeOptional /home/admin/conf/web/apache2.webapp.com.conf*

</VirtualHost>

谢谢。

4

1 回答 1

1

终于找到答案了……编辑nginx的配置文件:

proxy_pass      http://IP:8082; <--TOMCAT PORT
root           /home/admin/web/webapp.com/public_html; <--JSP PAGES PATH

默认配置文件具有 Apache 端口和 apache html 页面路径。我想这可以使用 apache proxy_mod 来完成,但我不知道哪种方式更好......如果有人能解释这两种方式(通过 apache 或通过 nginx),我很感激。

于 2018-11-11T17:17:22.473 回答