[Question] Nối Tomcat vào Apache? |
21/10/2010 23:50:14 (+0700) | #1 | 223350 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Chào các bạn, mình cài apache,và tomcat trên 1 máy,
Apache mình cấu hình ở thư mục
/etc/httpd....
còn tomcat mình cài ở
/usr/local/tomcat
ví dụ khi ta login vào forum của php thì
http://myweb/forum
còn login vào jforum thì
http://myweb:8080/jfoum
Bây h mình muốn nối tomcat vào Apache thì làm như thế nào,
PS mình đã tìm hiểu nhiều trước khi hỏi, nhưng thấy lung tung quá, |
|
|
|
|
[Question] Nối Tomcat vào Apache? |
22/10/2010 00:02:09 (+0700) | #2 | 223352 |
|
tranhuuphuoc
Moderator
|
Joined: 05/09/2004 06:08:09
Messages: 865
Location: Lầu Xanh
Offline
|
|
zjm_zjm wrote:
Chào các bạn, mình cài apache,và tomcat trên 1 máy,
Apache mình cấu hình ở thư mục
/etc/httpd....
còn tomcat mình cài ở
/usr/local/tomcat
ví dụ khi ta login vào forum của php thì
http://myweb/forum
còn login vào jforum thì
http://myweb:8080/jfoum
Bây h mình muốn nối tomcat vào Apache thì làm như thế nào,
PS mình đã tìm hiểu nhiều trước khi hỏi, nhưng thấy lung tung quá,
Những yêu cầu cần thiết để "nối" giữa Apache và Tomcat : Apache, JDK, mod_jk (hoặc mod_proxy) , Tomcat, nói ngắn gọn cho dễ hiểu để làm việc này ta cần có mod_jk hoặc mod_proxy
Bài viết này cách đây 3 năm trước tôi có đặt câu hỏi, hỏi giống y như bro và được đàn anh conmale hướng dẫn, chỉ giúp bro có thể xem lại tham khảo
/hvaonline/posts/list/16018.html
Good luck |
|
|
|
|
[Question] Nối Tomcat vào Apache? |
22/10/2010 14:56:50 (+0700) | #3 | 223415 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Okay em đã tìm hiểu và bắt đầu cài mod_jk* thông qua yum
nhưng khi chạy thì nó thiếu thư viện, mình không rảnh về Perl cho lắm nên chẳng bít thế nào nữa.
Code:
Package mod_jk-ap20.i386 0:1.2.26-1jpp set to be updated
--> Running transaction check
--> Processing Dependency: perl(GD::Graph:ata) for package: mod_jk-tools
--> Processing Dependency: perl(GD) for package: mod_jk-tools
--> Processing Dependency: perl(GD::Graph::lines) for package: mod_jk-tools
--> Processing Dependency: perl(GD::Graph) for package: mod_jk-tools
--> Processing Dependency: perl(GD::Graph::linespoints) for package: mod_jk-tools
--> Processing Dependency: perl(Statistics:escriptive) for package: mod_jk-tools
--> Finished Dependency Resolution
Error: Missing Dependency: perl(GD::Graph:ata) is needed by package mod_jk-tools
Error: Missing Dependency: perl(GD) is needed by package mod_jk-tools
Error: Missing Dependency: perl(GD::Graph::lines) is needed by package mod_jk-tools
Error: Missing Dependency: perl(GD::Graph) is needed by package mod_jk-tools
Error: Missing Dependency: perl(GD::Graph::linespoints) is needed by package mod_jk-tools
Error: Missing Dependency: perl(Statistics:escriptive) is needed by package mod_jk-tools
[root@zjm yum.repos.d]#
|
|
|
|
|
[Question] Nối Tomcat vào Apache? |
22/10/2010 15:04:22 (+0700) | #4 | 223416 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
Bạn có thể Google: how to install Perl module. |
|
Let's build on a great foundation! |
|
|
|
[Question] Nối Tomcat vào Apache? |
22/10/2010 22:29:06 (+0700) | #5 | 223437 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Mình đã cài nhưng nó hiện h không chạy được lõi 400
Code:
Bad Request
Your browser sent a request that this server could not understand.
Code:
Đây là file worker của mình
[root@zjm conf]# grep -v "^#" /etc/httpd/conf/workers.properties | sed '/^$/d'
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/jdk1.6.0_21
ps=/
worker.list=ajp12, ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
[root@zjm conf]#
Còn đây là file mod_jk.conf
Code:
[root@zjm conf]# grep -v "^#" /etc/httpd/conf.d/mod_jk.conf | sed '/^$/d'
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /var/log/mod_jk.log
JkLogLevel error
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
Alias /examples "/usr/local/tomcat/webapps/examples"
<Directory "/usr/local/tomcat/webapps/examples">
Options Indexes FollowSymLinks
</Directory>
JkMount /examples/servlet/* ajp13
JkMount /examples/*.jsp ajp13
<Location "/examples/WEB-INF/">
AllowOverride None
allow from 192.168.1.0/24
deny from all
</Location>
Alias /admin "/usr/share/tomcat5/webapps/admin"
<Directory "/usr/share/tomcat5/webapps/admin">
Options Indexes FollowSymLinks
</Directory>
JkMount /admin/servlet/* ajp13
JkMount /admin/*.jsp ajp13
<Location "/admin/WEB-INF/">
AllowOverride None
deny from all
</Location>
Alias /test "/usr/share/tomcat5/webapps/test"
<Directory "/usr/share/tomcat5/webapps/test">
Options Indexes FollowSymLinks
</Directory>
JkMount /test/servlet/* ajp13
JkMount /test/*.jsp ajp13
<Location "/test/WEB-INF/">
AllowOverride None
deny from all
</Location>
JkMount /jmx-console/* jboss
<Location "/jmx-console/">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Location>
[root@zjm conf]#
Trong file httpd.conf mình đã include
include conf.d/mod_jk.conf
start apache và tomcat đều không có lỗi, khi truy cập vào 192.168.1.100 thì lỗi 400
Truy cập http://192.168.1.100 thì không được
Truy cập http://192.168.1.100:8080 thì vẫn được.
có lẽ lỗi nằm ở apache http
|
|
|
|
|
[Question] Nối Tomcat vào Apache? |
22/10/2010 22:45:12 (+0700) | #6 | 223438 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
đây là 1 phần của access_log
Code:
[root@zjm conf]# cat /var/log/httpd/access_log
192.168.1.33 - - [27/Nov/2010:23:20:52 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)"
192.168.1.33 - - [27/Nov/2010:23:20:55 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)"
192.168.1.33 - - [27/Nov/2010:23:21:03 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)"
192.168.1.33 - - [27/Nov/2010:23:21:26 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)"
192.168.1.33 - - [27/Nov/2010:23:23:57 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:23:57 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:23:57 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:08 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:09 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:10 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:12 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:14 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:55 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:59 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:25:01 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:25:33 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:27:58 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:00 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:01 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:01 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:01 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:01 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:42:57 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
|
|
|
|
|
[Question] Nối Tomcat vào Apache? |
23/10/2010 09:32:52 (+0700) | #7 | 223455 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Tập tin /usr/local/tomcat/conf/server.xml
Mình chỉnh
Code:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
wwwectPort="8443" />
Thành
Code:
<Connector port="8009" protocol="AJP/1.3" wwwectPort="8443" />
nhung vẫn không được |
|
|
|
|
[Question] Nối Tomcat vào Apache? |
23/10/2010 21:04:10 (+0700) | #8 | 223521 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Trong file httpd.conf mình cũng có mod proxy, không biết nó có đụng với mod này không
Code:
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.100:80
BalancerMember http://192.168.1.100:80
</Proxy>
ProxyPass /test balancer://mycluster/
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
</Location>
|
|
|
|
|
[Question] Nối Tomcat vào Apache? |
23/10/2010 21:36:40 (+0700) | #9 | 223523 |
Dpm
Member
|
0 |
|
|
Joined: 06/04/2009 01:43:30
Messages: 85
Offline
|
|
Hình như ban zz chưa hiểu lắm thi fải.cấu hình sai bét hết. |
|
|
|
|
[Question] Nối Tomcat vào Apache? |
23/10/2010 21:52:04 (+0700) | #10 | 223525 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Dpm wrote:
Hình như ban zz chưa hiểu lắm thi fải.cấu hình sai bét hết.
Sai chỗ nào vậy bạn, nói ra mình mới biết chứ, nói như bạn sao mình biết được. |
|
|
|
|
[Question] Nối Tomcat vào Apache? |
23/10/2010 22:02:52 (+0700) | #11 | 223526 |
Dpm
Member
|
0 |
|
|
Joined: 06/04/2009 01:43:30
Messages: 85
Offline
|
|
uh,ngắn gọn theo yêu cầu của bạn là như thế này:
---
ví dụ khi ta login vào forum của php thì
http://myweb/forum
còn login vào jforum thì
http://myweb:8080/jfoum
----
thì chả cần đến mod_proxy hoặc mod_jk làm gì.
chỉ cần file server.xml có đoạn này
--
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" wwwectPort="8443" />
jforum nằm trong webapps,vậy là xong.
trừ khi bạn muốn như thế này:
http://myweb/forum -->vào php forum.
http://myweb/jforum --> vào jforum
thì mới cần đến mod_jk hoặc mod_proxy.
cái mới lung tung trong file worker.properties bạn xem lại nhé,loadbalancer,worker.list,Jkmount...vv để làm gì? |
|
|
|
|
[Question] Nối Tomcat vào Apache? |
23/10/2010 22:48:04 (+0700) | #12 | 223530 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Dpm wrote:
uh,ngắn gọn theo yêu cầu của bạn là như thế này:
---
ví dụ khi ta login vào forum của php thì
http://myweb/forum
còn login vào jforum thì
http://myweb:8080/jfoum
----
thì chả cần đến mod_proxy hoặc mod_jk làm gì.
chỉ cần file server.xml có đoạn này
--
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" wwwectPort="8443" />
jforum nằm trong webapps,vậy là xong.
trừ khi bạn muốn như thế này:
http://myweb/forum -->vào php forum.
http://myweb/jforum --> vào jforum
thì mới cần đến mod_jk hoặc mod_proxy.
cái mới lung tung trong file worker.properties bạn xem lại nhé,loadbalancer,worker.list,Jkmount...vv để làm gì?
Nói vậy là bạn không hiểu rồi, đọc lại bài 1 "Nối tomcat vào apache"
khi chưa nối thì cái tomcat với apache http không có liên quan gì cả
[client] --------port 8080 ------> [tomcat_server]
khi nối tomcat vào client thì nó sẽ khác là các request từ client tới tomcat là phải qua apache http xử lý trước ....
Thì mình muốn nó là http://192.168.1.100/jforum mà |
|
|
|
|
[Question] Nối Tomcat vào Apache? |
24/10/2010 01:22:23 (+0700) | #13 | 223531 |
Dpm
Member
|
0 |
|
|
Joined: 06/04/2009 01:43:30
Messages: 85
Offline
|
|
Bạn cấu hình file workers.properties(không hợp lệ) có vẻ để chạy 2 tomcat và loadbalance,nhưng lại ko sử dụng loadbalancer mà chỉ sử dụng worker ajp13.
Nếu bạn chỉ chạy 1 tomcat thì về cơ bản chỉ cần như sau:
file mod_jk.conf:
Code:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /var/log/mod_jk.log
JkLogLevel error
JkMount /jforum ajp13
file workers.properties:
Code:
ps=/
worker.list=ajp13
worker.ajp13.port=8007
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
file server.xml:
Code:
<Connector port="8007" protocol="AJP/1.3" />
Còn nếu muốn chạy 2 tomcat và loadbalance thì điều chỉnh lại ports trên 2 tomcat và các files cấu hình tương ứng.
hoặc muốn Apache vẫn phục vụ static contents trên jforum thì điều chỉnh lại JkMount và DocumentRoot.
Còn nhiều tham số nữa bạn đọc tài liệu để hiểu rõ hơn. |
|
|
|
|
[Question] Nối Tomcat vào Apache? |
24/10/2010 09:53:37 (+0700) | #14 | 223548 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Thật ra mấy cái option này mình đã thử nhiều lần, và thay đi thay lại không biết bao nhiêu lần nữa
File mod_jk.conf
Code:
[root@zjm ~]# grep -v "^#" /etc/httpd/conf.d/mod_jk.conf | sed '/^$/d'
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /var/log/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /jforum ajp13
Alias /examples "/usr/local/tomcat/webapps/examples"
<Directory "/usr/local/tomcat/webapps/examples">
Options Indexes FollowSymLinks
</Directory>
JkMount /examples/servlet/* ajp13
JkMount /examples/*.jsp ajp13
<Location "/examples/WEB-INF/">
AllowOverride None
deny from all
</Location>
Alias /jforum "/usr/local/tomcat/webapps/jforum"
<Directory "/usr/local/tomcat/webapps/jfroum">
Options Indexes FollowSymLinks
</Directory>
JkMount /jforum/*.jsp ajp13
<Location "/jforum/WEB-INF/">
AllowOverride None
deny from all
</Location>
<Location "/jmx-console/">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Location>
Và đây là worker.properties
Code:
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/jdk1.6.0_21
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
Còn file Server.xml mình đã làm tương tự.
Code:
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8009" protocol="AJP/1.3" />
|
|
|
|
|
[Question] Nối Tomcat vào Apache? |
25/10/2010 03:07:43 (+0700) | #15 | 223600 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Đúng ra là nối apache vào tomcat chớ không phải nối tomcat vào apache bởi vì tomcat nằm trong, apache httpd nằm ngoài. Nối "vào" có nghĩa là nối từ ngoài vào trong.
Để nối apache httpd vào tomcat, cần phải hiểu rõ cơ chế hoạt động của apache httpd, của tomcat và của mod_jk (một module trên apache httpd dùng để kết nối). Mô hình đơn giản như thế này:
apache httpd -----> mod_jk -----> tomcat.
1. Trên tomcat, cần ấn định "connector" dùng giao thức gì (HTTP hay AJP13).
2. Trên apache, cấu hình của mod_jk và workers dùng để apache biết được nó cần connect vô connector nào của tomcat đã ấn định ở trên.
Điều này có nghĩa, connector trên Tomcat phải sẵn sàng trước khi apache connect vô tomcat.
- Nếu cấu hình connector trên Tomcat là:
<Connector port="8007" protocol="AJP/1.3" />
thì chắc chắn phải có port 8007 đang "lắng nghe".
Trên apache, hai config cần thiết là workers và mod_jk.
a. workers.props:
worker.worker1.port=8007 # đây là connector port đã ấn định trên tomcat ở trên.
worker.worker1.host=localhost # nếu apache httpd và tomcat chạy trên cùng 1 server.
worker.worker1.type=ajp13
# có thể thêm các parameters dưới này như connection_pool, cachesize, socket_keepalive... tuỳ nhu cầu. Đọc tài liệu dành riêng của tomcat connector worker.
b. mod_jk.props:
JkWorkersFile /path/to/worker.props
Jkmount /<context_of_tomcat_app>/* worker1
Trong đó,
- JkWorkersFile là directive cần thiết để kèm theo file "worker.props" mà mình đã chuẩn bị ở trên. Nếu không, apache chẳng biết worker1 là cái gì hết.
- <context_of_tomcat_app> chính là application context trên tomcat. Ví dụ, application context của HVA forum ở thời điểm hiện tại là "hvaonline" và * là wildcard chỉnh định rằng tất cả mọi thứ trong /hvaonline/ đểu được "mount".
- worker1 chính là tên worker đã được thiết lập trên worker.props.
|
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Nối Tomcat vào Apache? |
25/10/2010 09:34:47 (+0700) | #16 | 223614 |
zjm_zjm
Member
|
0 |
|
|
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
|
|
Híc em comment hết trong file mod_jk,conf chỉ để vài cái sử dụng
nhưng vẫn lỗi 400.
đây là file log của error_log nó thông báo
Code:
[Tue Nov 30 10:38:27 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Nov 30 10:38:27 2010] [notice] Digest: done
[Tue Nov 30 10:38:28 2010] [warn] No JkShmFile defined in httpd.conf. Using default /etc/httpd/logs/jk-runtime-status
[Tue Nov 30 10:38:28 2010] [notice] Apache/2.2.0 (Fedora) configured -- resuming normal operations
[Tue Nov 30 10:38:35 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7HFiSX8AAAEAAAzAPg0AAAAA"]
[Tue Nov 30 10:38:37 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7IOn@n8AAAEAAAzBQAoAAAAB"]
[Tue Nov 30 10:38:37 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7JAWQn8AAAEAAAzCQjgAAAAC"]
[root@zjm ~]#
Không biết có phải là do modsecurity nó đã "làm gì " không? |
|
|
|
|
|