Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ApacheWeb服务器(httpd)中的SpringMVC项目_Java_Apache_Spring Mvc_Vps - Fatal编程技术网

Java ApacheWeb服务器(httpd)中的SpringMVC项目

Java ApacheWeb服务器(httpd)中的SpringMVC项目,java,apache,spring-mvc,vps,Java,Apache,Spring Mvc,Vps,我知道将SpringMVC部署到ApacheTomcat的结果是显而易见的。是否可以部署到ApacheWeb服务器(HTTPD)。 我需要在没有VPS的情况下在web上部署我的项目。如评论中所述,您需要一个servlet容器来运行spring应用程序。通常,您会将一个Web服务器(apache、nginx)放在它前面。对于Apache,实际上有3种方法可以实现这一点 1。使用mod_代理 在apache Web服务器上安装并启用mod_代理。然后,在VirtualHost指令中,您可以启用转发请

我知道将SpringMVC部署到ApacheTomcat的结果是显而易见的。是否可以部署到ApacheWeb服务器(HTTPD)。
我需要在没有VPS的情况下在web上部署我的项目。

如评论中所述,您需要一个servlet容器来运行spring应用程序。通常,您会将一个Web服务器(apache、nginx)放在它前面。对于Apache,实际上有3种方法可以实现这一点

1。使用mod_代理

在apache Web服务器上安装并启用mod_代理。然后,在VirtualHost指令中,您可以启用转发请求,并将以下内容添加到配置中:

ProxyPass /path-to-your-application "http://host:port/context"
更多选项可在此处找到:

2。使用mod_ajp

另一种方法是使用mod_ajp。AJP是一种二进制协议,与使用mod_代理相比具有一些性能优势。 要使用mod_ajp,您需要一个工人文件。workers文件的位置通常在mod_ajp的配置文件中配置。在Ubuntu/Debian上,您可以在以下内容中找到:

/etc/apache2/mods-available/jk.conf
workers文件是一个属性文件,包含用于通信的servlet容器的配置。基本示例如下所示:

worker.foobar.port=8009
worker.foobar.type=ajp13
worker.foobar.host=localhost
<VirtualHost *:80>
    # ...
    JkMount /*     foobar
    # ...
</VirtualHost>
请注意,此处的“foobar”一词是工作人员的名称。稍后您将需要这个。在配置好这个并启用mod_ajp之后,您需要向主机配置中添加一个JkMount指令。这可能是这样的:

worker.foobar.port=8009
worker.foobar.type=ajp13
worker.foobar.host=localhost
<VirtualHost *:80>
    # ...
    JkMount /*     foobar
    # ...
</VirtualHost>

我想这是一种非常方便的方式,可以通过简单的配置方式使用这两个模块。请参阅以获取进一步阅读。

如果您有
war
存档,则需要一个Servlet容器来运行应用程序。但是仍然可以将ApacheWeb服务器放在像Tomcat这样的Servlet容器前面,并将请求路由到Tomcat。如果您不想使用独立的Servlet容器,那么也可以选择使用嵌入式Servlet容器