我有一个运行httpd,mysql和tomcat6的Centos5。一切都很好。我的目标是实现以下目标
www.domain.com
转发/代理到www.domain.com:8080/myapplication(由tomcat提供)www.domain.com/phpmyadmin www.domain.com/phpmyadmin(由htdocs的Apache提供) htdocs文件夹也将www.domain.com/* 服务器化为“正常” Apache内容
我该如何实现?有任何想法吗?
谢谢
您与提供htdocs的Apache唯一的区别似乎是向运行servlet“ myappplication”的tomcat发送邮件。在这种情况下,
-忽略帖子中的这一行-
# Where to find workers.properties # Update this path to match your conf directory location (put workers.properties next to httpd.conf) JkWorkersFile /etc/apache2/workers.properties # Where to put jk logs # Update this path to match your logs directory location (put mod_jk.log next to access_log) JkLogFile /var/log/apache2/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # 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" JkMount /myapplication/* myworker
在该目录中,创建一个文件“ workers.properties”,其中包含以下内容:
worker.myworker.type=ajp13
worker.myworker.host=localhost worker.myworker.port=8081 worker.myworker.cachesize=10 worker.myworker.cache_timeout=600 worker.myworker.socket_keepalive=1 worker.myworker.socket_timeout=300
编辑行tomcat_inst_dir / conf / server.xml以放入一行
[连接器端口=“ 8081”协议=“ AJP / 1.3” /]
注意:将方括号更改为尖括号。上面的行位于[service] … [/ Service]标记内,而在[Engine] … [/ Engine]标记之外,将其置于[Engine]行上方。
现在,对“ http://www.domain.com/myapplication/servletName [?par = value …]”的任何请求都由apache(在端口80上)重定向到tomcat(在端口8081上),并重定向到servlet myapplication 。我假设您有一个目录“ tomcat_home / webapps / myapplication”,而目录中又有一个目录WEB-INF,其中包含“ web.xml”文件。上面的“ servletName”是您在该文件的[servlet-name] … [/ servlet- name]标记之间定义的名称。
我选择了8081号(可以选择端口号,只要它不与其他标准服务冲突即可),以便8080端口仍然有效,以供您测试“ http://www.domain.com:8080/myapplication/ servletName”(应该在端口8080和80(apache端口)上产生相同的输出)。
重要说明:请保留在上述过程中更改的所有文件的备份副本,因此,如果以上操作无效,则可以还原到工作系统。我必须经历以上的无数次迭代才能使其正常工作!
祝您好运,并希望对您有帮助-MS
PS。抱歉,格式化-我再也做不到