Evan

If apache is installed on a standalone webserver it will work cleaner and faster If tomcat is installed on a standalone webserver it will work cleaner and faster..

but if you absolutely positively need apache and tomcat on the same host..although you still havent explained why this is the case!!!

#httpd.conf
JkMount /*.jsp worker1
JkMount /*/servlet/ worker1

#http://<host>/*.jsp  routes to worker1
#http://<host>/servlet routes to worker1

#BOTH get sent to the worker1 connector which is configured as
#workers.properties
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13

#accordingly server.xml picks up all requests directed to port 8009
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="0"
               useURIValidationHack="false"

#In other words ALL *.jsp and ALL servlets are routed to Tomcat
#so in your ./META-INF/context.xml
#The web application used to process each HTTP request is selected by Catalina based on matching #the longest possible prefix of the Request URI against the context path of each defined Context. #Once selected, that Context will select an appropriate servlet to process the incoming request, #according to the servlet mappings defined in the web application deployment descriptor file (which #MUST be located at /WEB-INF/web.xml within the web app's directory hierarchy).

#so in other words context.xml path= "foo" will direct to the servlet-mapping for identifier "foo"
<Context path="/foo">

#and web.xml has declared a mapping for foo as in
<servlet-mapping>
       <servlet-name>foo</servlet-name>
       <url-pattern>/servlet/foo</url-pattern>
</servlet-mapping>

#then your ultimate path will be

$TOMCAT_HOME/webapps/servlet/foo

Martin --

______________________________________________
Disclaimer and confidentiality note
Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission.


Yes, I understand that perfectly. What I am asking is what if we
include a web application Context path, that is <Context
path="someuri"...>. Of course, JkMount /*/eservlet/* would relay all
the request with mywebapp/eservlet/* from Apache to Tomcat -- I am
aware of that. Now if we set <Context path="someuri"...>, what is
going to happen to our URI?

Here's an excerpt from Tomcat config document:

"The context path of this web application, which is matched against
the beginning of each request URI to select the appropriate web
application for processing. All of the context paths within a
particular Host must be unique. If you specify a context path of an
empty string (""), you are defining the default web application for
this Host, which will process all requests not assigned to other
Contexts. The value of this field must not be set except when
statically defining a Context in server.xml, as it will be infered
from the filenames used for either the .xml context file or the
docBase."

So when Apache webserver gets a request for a particular virtualhost,
jk_mod sees if the request must be handled by Tomcat (i.e. satisfies
/*/eservlet/*) or not. If it does, it relays it to the appropriate
host and depending on "path" which is defined above, finally the
request is handed to the appropriate context or web application
designated for that "Host" (based on that "path", again according to
the excerpt above).  Now, having specified the "path," how are we
going to access a servlet with such scenario? I gave a straightforward
example but you still didn't answer my question.

On 8/20/06, Martin Gainty <[EMAIL PROTECTED]> wrote:
Why are you mixing up Apache and Tomcat?

If you are speaking of AJP 'context' term
 if you look at the doc you will see
JkMount [URL prefix] [Worker name]
/*where URL prefix is the context*/
JkMount /*/esrvlt/* worker1
Send all requests of whateverWebApp/eservlet/WhateverFileName to worker1 so in essence
http://<host>/*/eservlet/<anything>
will be directed to Tomcat

Assuming your workers.properties has this configuration
#workers.properties
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13

/*Now all tomcat requests are redirected to localhost on port 8009*/
/*Inside $TOMCAT_HOME/conf/server.xml you have a connector which will listen on port 8009*/
   <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
      <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="0"
               useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

Martin --
*********************************************************************
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed. If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.



----- Original Message -----
From: "Evan J " <[EMAIL PROTECTED]>
To: "Tomcat Users List" <users@tomcat.apache.org>; "Martin Gainty" <[EMAIL PROTECTED]>
Sent: Sunday, August 20, 2006 1:15 PM
Subject: Re: JkMount and Context path


> Martin,
>
> I have the documents and I'm aware the difinition of Context path and
> from what you have posted, it says, "It is matched against the
> requesting URI." Now, my question was having Context path set, what
> would the appropriate URI in case that the system utilizes Apache and
> jk_mod in which JkMount is used for the requests to be processes by
> jk_mod and passed on to Tomcat? Allow me to restate my example, so you
> will be able to answer my question through the example itself.
>
> JkMount /*/esrvlt/* worker1
> JkMount /*/esrvlt/*.jsp worker1
>
> The web application is "myapp"
> Context path is "/someuri"
> One of the servlet mapping in web.xml is "/esrvlt/myservlet"
>
> Now given that, how should "myservlet" be accessed, that is the actual
> URL must look like?
>
> http://vh.host.com/myapp/esrvlt/myservlet OR
> http://vh.host.com/someuri/myapp/esrvlt/myservlet OR
> Must it have a different set of configuration (jkMount, path, mapping)
> in order to be accessed properly? Or Context path in such situation
> has no bearing? Please answer through forementioned scenario.
>
> And as for using Apache webserver... I am just playing around with
> different configuration in order to understand how they interact with
> each other. For now, I have no need to utilize a third party web
> server. Although, that being said, I can see usage for having a front
> end web server to, for example, pass on the load balancing to it
> rather than let Tomcat's handle it. And as you have posted, directives
> such as JkAutoAlias/JkMount/JkUnMount would allow me to process those
> files that can be statistically served such as .gif or .html and
> dynamic content to be passed on and handled by Tomcat (or any other
> web container).
>
> Sincerely,
>
> Evan
>
>
> On 8/20/06, Martin Gainty <[EMAIL PROTECTED]> wrote:
>> <Context path="/urlPath" docBase="/com/packagename" ... >
>> #path is the context path of the webapp which is matched against the requesting URI to choose appropriate webapp to process (all paths must be unique) >> #docBase maps the urlPath to physical docBase (which can either be absolute path or relative to webapps) >> #embedding context elements within server.xml has been replaced by encapsulating context.xml for each webapp #$CATALINA_HOME/webapps/WebApp/META-INF/context.xml
>>
>> #within context You also have the capability of passing in initialisation parameters via <Parameter in context.xml
>> #or Environment settings via <Environment parameter
>>
>> #If you have JDBC resources You can also declare ResourceParams for jdbc connections via <ResourceParams
>>
>> #You can also declare global JNDI resource via <ResourceLink
>>
>> Doc available at
>> http://tomcat.apache.org/tomcat-5.0-doc/config/context.html
>>
>> Mod-jk
>> #mod_jk JkAutoAlias maps all web application context directories into Apache document space..you DONT want to do this if you want to give Tomcat
>> #control of the folder as in the example illustrated here
>> JkAutoAlias /export/home/web/host2/webapps
>>
>> JkMount /*.jsp ajp13
>> JkMount /*/servlet/ ajp13
>>
>> #A single webapp mapped into Apache document space can be accomplished via Alias as in this example
>>  Alias /examples /export/home/web/host1/webapps/examples
>>  JkMount /*.jsp ajp13
>>  JkMount /*/servlet/ ajp13
>>
>> All of this depends on how you are configuring your Context listener as in this example
>> <Host name="localhost" debug="0" appbase="webapps" >
>>       <Listener className="org.apache.ajp.tomcat4.config.ApacheConfig"
>>           append="true"  forwardAll="true"/ >
>> />
>> #where the most significant parameter forwardAll = "true" will direct apache to forward your context listener requests to tomcat
>> #verify these settings by viewing mod-jk.conf
>>
>> The only question I have is why not let tomcat run standalone?
>> M-
>> *********************************************************************
>> This email message and any files transmitted with it contain confidential >> information intended only for the person(s) to whom this email message is >> addressed. If you have received this email message in error, please notify
>> the sender immediately by telephone or email and destroy the original
>> message without making a copy.  Thank you.
>>
>>
>>
>> ----- Original Message -----
>> From: "Evan J " <[EMAIL PROTECTED]>
>> To: "Tomcat Users List" <users@tomcat.apache.org>; "Martin Gainty" <[EMAIL PROTECTED]>
>> Sent: Sunday, August 20, 2006 1:01 AM
>> Subject: Re: JkMount and Context path
>>
>>
>> > Ok, your answer just recaps everything that is needed to run
>> > Apache-jk_mod-Tomcat but does not answer my question. What if in your
>> > setting, you have set Context path, what would be the consequences?
>> > How are the servlets then are accessed? Is it required to include
>> > Context path in the uri ending to the servlet like the examples are
>> > provided earlier? It seems like that is not the case so I am taking it >> > either Context path, if it's designated, has no bearing when it comes
>> > to jk_mod or must be included in the uri in some other way.
>> >
>> > On 8/19/06, Martin Gainty <[EMAIL PROTECTED]> wrote:
>> >> /*httpd.conf
>> >> JkMount maps all JSP (*.jsp) to ajp13
>> >> */
>> >> e.g.
>> >> httpd.conf
>> >> JkMount /*.jsp ajp13
>> >>
>> >> /*map ajp13 to your webapp docRoot /var/tomcat4/webapps/domain1
>> >> <VirtualHost *>
>> >>     ServerName domain1.com
>> >>     ServerAlias www.domain1.com
>> >>     DocumentRoot /var/tomcat4/webapps/domain1
>> >>     JkMount /* ajp13
>> >> </VirtualHost>
>> >>
>> >> /*server.xml maps known webapp docBase /var/tomcat4/webapps/domain to domain name(domain1) via this entry*/ >> >> <Host name="domain1.com" debug="0" appBase="webapps" unpackWARs="true">
>> >> <Alias>www.domain1.com</Alias>
>> >> <Logger className="org.apache.catalina.logger.FileLogger"
>> >> directory="logs" prefix="virtual_log1." suffix=".log" timestamp="true"/> >> >> <Context path="" docBase="/var/tomcat4/webapps/domain1" debug="0" reloadable="true"/>
>> >> </Host>
>> >>
>> >> HTH
>> >> M-
>> >
>> > ---------------------------------------------------------------------
>> > To start a new topic, e-mail: users@tomcat.apache.org
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to