java - 将 Apache 重定向到 Vesta CP 上的 Tomcat

标签 java apache tomcat nginx vesta

我有一台装有 Ubuntu 18 操作系统的 VPS 服务器。在此 VPS 中,我安装了 Apache 2 和 Nginx 附带的 VESTA CP。之后,我安装了 Tomcat 9(端口 8082)来为基于 Java Spring 的 Web 应用程序提供服务。 如果我输入地址“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>

谢谢。

最佳答案

终于找到答案了...编辑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),我很感激。

关于java - 将 Apache 重定向到 Vesta CP 上的 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53242303/

相关文章:

php - Solr 命令不返回 json 输出

Tomcat index.html 空白页 404

java - ThreadLocal 与 Tomcat NIO Connector 一起使用是否安全

java - 适用于 500 多个航路点/节点的最短路径算法(例如 Dijkstra 算法)?

java - 将 List<Animal> 转换为 List<Dog>

java - getResource 上的 NullPointerException

javascript - 无法在 apache2 服务器中加载资源

apache - 代理:没有对 URL/有效的协议(protocol)处理程序。如果您使用的是 DSO 版本的 mod_proxy

java - java 中的 Push_back 和 pop_back

ruby-on-rails - 我们很抱歉,但有些不对劲。 - 使用 Rails、Apache、Passenger