gpt4 book ai didi

apache - 使用 Tomcat + Mod JK 的虚拟主机

转载 作者:行者123 更新时间:2023-11-28 22:55:46 34 4
gpt4 key购买 nike

我的 cent os 服务器上有一个 tomcat(在 8080 上运行)应用程序,我可以使用 url 访问它:

SERVER_IP:8080/myapp

我打开了我的管理面板

SERVER_IP:8080/myapp/admin

我有一个在端口 80 上运行的 apache 服务器。

我有两个域:

www.myapp.com
admin.myapp.com

我已设法配置 tomcat、mod_jk 和 apache 服务器,以便 admin.myapp.com url 打开 tomcat 主页 (SERVER_IP:8080)。

但我想要的是制作 admin.myapp.com url 以打开 SERVER_IP:8080/myapp/admin 和 www.myapp.com 以打开 SERVER_IP:8080/myapp。

我需要让 apache 知道请求何时到达 admin.myapp.com,它应该知道将请求重定向到 SERVER_IP:8080/myapp/admin。显然缺少了一些东西。

这是我的配置:

httpd.conf(admin.myapp.com.conf 实际上是因为它是由 plesk 面板创建的,但我认为它无关紧要)

<VirtualHost SERVER_IP:80 >
ServerName "admin.myapp.com:80"
ServerAlias "www.admin.myapp.com"
ServerAlias "ipv4.admin.myapp.co"
ServerAdmin "cuneyty@mycompany.com"
UseCanonicalName Off

JkMount / ajp13
JkMount /* ajp13

....
</VirtualHost>

mod_jk.conf

# Load mod_jk module
# Update this path to match your modules location
LoadModule jk_module modules/mod_jk.so

# Where to find workers.properties
# Update this path to match your conf directory location
JkWorkersFile /usr/local/tomcat7/conf/workers.properties

# Where to put jk logs
# Update this path to match your logs directory location
JkLogFile /usr/local/tomcat7/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel debug

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

workers.properties

# Define 1 real worker named ajp13
worker.list=ajp13

# Set properties for worker named ajp13 to use ajp13 protocol,
# and run on port 8009
worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.lbfactor=50
worker.ajp13.cachesize=10
worker.ajp13.cache_timeout=600
worker.ajp13.socket_keepalive=1
worker.ajp13.socket_timeout=300

提前致谢。

最佳答案

实现此目的的最简单方法是使用 mod_proxy
在你的 httpd.conf 中加载 mod_proxy 模块

<VirtualHost SERVER_IP:80>

ServerName admin.myapp.com
ServerAlias www.myapp.com
ServerAlias www.admin.myapp.com
ServerAlias ipv4.admin.myapp.co
ServerAdmin cuneyty@mycompany.com
# Any additional configuration/customization.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^admin\.myapp\.com$ [NC]
RewriteRule ^(.*)$ http://SERVER_IP:8080/myapp/admin/$1 [R=301,L]

ProxyRequests Off
ProxyPass / ajp://SERVER_IP:8009/
ProxyPass /myapp/ ajp://SERVER_IP:8009/myapp


</VirtualHost>

您还可以通过启用mod_proxy_balancer 来实现负载平衡。 .它是用于负载平衡的 mod_proxy 的扩展。

查看 mod_proxymod_jk 的优缺点 here

祝你好运!

关于apache - 使用 Tomcat + Mod JK 的虚拟主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27567674/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com