Tomcat 5 with IIS6 using JK2

A

Andy Fish

Hi,

I am trying to get tomcat 5 to work with IIS6 using jk2. In spite of
following the instructions included in the jk2 download I have still managed
to make some progress. However, I seem to have hit a brick wall.

I can get the /jkstatus page, but whenever I try and access any URL that
goes to tomcat, I get nothing - the page never returns. I have hand-cranked
the HTTP request with telnet and IIS just keeps the socket open and doesn't
return anything. I can see that the AJP is listening on 8009 but I never see
any connects to it. Requests that aren't mapped to tomcat work OK.

I have read most anything I can find on the net including all the links from
http://www.rit.edu/~ack5504/tomcat-iis6-howto/tomcat_iis6_resources.html but
to no avail. Unfortunately, the one he describes as the best guide
(http://virtualict.net/support/kb/iis6-Tomcat5-JK2.html) the link doesn't
work and all of the other guides seem to use jk1 rather than jk2

I have tried putting debugging on but all I ever get is a single message in
the log file saying "Initializing log file".

Here is a bit more background info:

I was not sure whether the vbscript program was supposed to be in addition
to, or instead of, the manual configuration. I ran it after doing all the
manual configuration and in retrospect this was probably a bad idea.

After failing to get the isapi connector to load, I noticed the jakarta
virtual root did not have read access (though it did have "scripts and
executables" execute permission) so I added it manually. I have a hunch that
the vbscript program removed this access because it was there when I made
the virtual directory in the first place..

After that, the connector loaded OK but I couldn't get the /jkstatus page -
I just got 404 on everything. so I added the DLL as a "web service
extension" (I already had IIS in isolation mode) and then the jkstatus page
started working.

any help or advice would be very welcome. The only place I can think of to
go next is to rebuild the connector from source and put my own debugging in
(yeuch) or have a go with jk1

Andy
 
A

Andy Fish

ok, I finally got it working. In case anyone else is struggling and finds
this post, here's what I did (on top of the stuff mentioned in my original
post):

I managed to download
http://www.jspwiki.org/attach?page=AttachmentsDemo/iis6-Tomcat5-JK2.pdf
(the site was down when I first tried it but up again now) and used his file
for workers2.properties.

[shm:]
info=Shared memory file. Required for multiprocess servers
file=D:\Server\Apache\Tomcat\5.0\work\jk2.shm
size=1000000

[channel.socket:localhost:8009]
info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol
tomcatId=localhost:8009

[uri:/jsp-examples/*]
info=JSP examples, map requests for all JSP pages to Tomcat.
context=/jsp-examples

this worked for me first time. The config file bears absolutely no
resemblance to the sample one in the
"jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip" download.

There is a mention in the PDF document of a worker2.properties reference
guide but unfortunately the URL links in the PDF don't work for me so I
wasn't able to download it to figure out what might have been wrong with the
sample file.

also note that there is something funny about the shared memory
configuration. in this configuration the shared memory is explicitly set to
a file; in the documentation that came with the zip file it said you could
set it to "automatic" but in the example file it said "auto". Maybe this
example file is for a completely different piece of software?

anyway I have it working now and I would thank the author of the
aforementioned PDF (who's name doesn't seem to be mentioned in the document)
for such comprehensive instructions.

Andy
 
A

Andy Fish

....of course all of that was before I discovered the known bug with jk2/iis
where it can corrupt the data in large HTTP POST requests.

now I've resorted to running tomcat on port 80 with IIS turned off :-((


Andy Fish said:
ok, I finally got it working. In case anyone else is struggling and finds
this post, here's what I did (on top of the stuff mentioned in my original
post):

I managed to download
http://www.jspwiki.org/attach?page=AttachmentsDemo/iis6-Tomcat5-JK2.pdf
(the site was down when I first tried it but up again now) and used his file
for workers2.properties.

[shm:]
info=Shared memory file. Required for multiprocess servers
file=D:\Server\Apache\Tomcat\5.0\work\jk2.shm
size=1000000

[channel.socket:localhost:8009]
info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol
tomcatId=localhost:8009

[uri:/jsp-examples/*]
info=JSP examples, map requests for all JSP pages to Tomcat.
context=/jsp-examples

this worked for me first time. The config file bears absolutely no
resemblance to the sample one in the
"jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip" download.

There is a mention in the PDF document of a worker2.properties reference
guide but unfortunately the URL links in the PDF don't work for me so I
wasn't able to download it to figure out what might have been wrong with the
sample file.

also note that there is something funny about the shared memory
configuration. in this configuration the shared memory is explicitly set to
a file; in the documentation that came with the zip file it said you could
set it to "automatic" but in the example file it said "auto". Maybe this
example file is for a completely different piece of software?

anyway I have it working now and I would thank the author of the
aforementioned PDF (who's name doesn't seem to be mentioned in the document)
for such comprehensive instructions.

Andy

Andy Fish said:
Hi,

I am trying to get tomcat 5 to work with IIS6 using jk2. In spite of
following the instructions included in the jk2 download I have still managed
to make some progress. However, I seem to have hit a brick wall.

I can get the /jkstatus page, but whenever I try and access any URL that
goes to tomcat, I get nothing - the page never returns. I have hand-cranked
the HTTP request with telnet and IIS just keeps the socket open and doesn't
return anything. I can see that the AJP is listening on 8009 but I never see
any connects to it. Requests that aren't mapped to tomcat work OK.

I have read most anything I can find on the net including all the links from
but
to no avail. Unfortunately, the one he describes as the best guide
(http://virtualict.net/support/kb/iis6-Tomcat5-JK2.html) the link doesn't
work and all of the other guides seem to use jk1 rather than jk2

I have tried putting debugging on but all I ever get is a single message in
the log file saying "Initializing log file".

Here is a bit more background info:

I was not sure whether the vbscript program was supposed to be in addition
to, or instead of, the manual configuration. I ran it after doing all the
manual configuration and in retrospect this was probably a bad idea.

After failing to get the isapi connector to load, I noticed the jakarta
virtual root did not have read access (though it did have "scripts and
executables" execute permission) so I added it manually. I have a hunch that
the vbscript program removed this access because it was there when I made
the virtual directory in the first place..

After that, the connector loaded OK but I couldn't get the /jkstatus page -
I just got 404 on everything. so I added the DLL as a "web service
extension" (I already had IIS in isolation mode) and then the jkstatus page
started working.

any help or advice would be very welcome. The only place I can think of to
go next is to rebuild the connector from source and put my own debugging in
(yeuch) or have a go with jk1

Andy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,262
Messages
2,571,048
Members
48,769
Latest member
Clifft

Latest Threads

Top