2009-03-02 40 views
37

Tôi đang làm việc trên trang Java đầu tiên của mình. Tôi đang chạy Apache Tomcat trên cổng 8080 và Apache HTTPD trên cổng 80. URL hiện tại mà tôi có thể truy cập trang web là (ví dụ) 123.4.5.6:8080. Tôi muốn xóa số cổng khỏi URL trước khi tôi trỏ tên miền vào IP mới.Làm cách nào để chuyển hướng từ Apache đến Tomcat?

Hiện tại tôi chỉ sử dụng Apache cho phpmyadmin, tuy nhiên tôi dự định sử dụng nó cho tập lệnh CGI và các nội dung khác khi tôi tìm ra mod_jk v.v ... Vì vậy, tôi không muốn thay đổi cổng của Tomcat thành 80 và lần lượt tắt Apache.

Tôi hy vọng điều này có ý nghĩa.

Trả lời

41

Cách chính xác để làm việc là để lại Apache ở 80 và Tomcat ở 8080 và sử dụng một plug in (tốt hơn là mod_proxy) cho proxy Tomcat từ Apache. mod_proxy sẽ chỉ mất 10 phút để thiết lập.

Điều này how-to rất đơn giản để làm theo.

+0

Tôi cũng khuyên bạn nên làm điều này - tốt nhất là không chạy JVM của bạn dưới dạng gốc trừ khi bạn có cách khác để cho phép liên kết với cổng 80. – Alnitak

+1

mod_jk cho phép bạn không chạy dưới dạng gốc và vẫn sử dụng cổng 80 để phục vụ các yêu cầu thông qua Apache. – Mike

+0

@kgiannakakis: bạn có thích điều này hơn mod_jk không? – cherouvim

15

Cách thông thường này được thực hiện, như bạn đã đề cập, là sử dụng mod_jk từ Apache HTTPD để chuyển tiếp nội dung mà bạn muốn được Tomcat xử lý.

Có một Quick HowTo tại tomcat.apache.org. Bạn cần phải làm như sau:

  • Sao chép mod_jk.so vào thư mục mô-đun thích hợp cho Apache HTTPD.
  • Tạo tệp cấu hình workers.properties
  • Trong Apache HTTPD httpd.conf, thêm phần để định cấu hình mod_jk.
  • Đảm bảo rằng Tomcat được cấu hình để chấp nhận mod_jk giao thức, mà thường trên cổng 8009.

Các dòng trong httpd.conf với JkMount:

JkMount /examples/* worker1 

cho Apache HTTPD mà yêu cầu phải được chuyển tiếp tới Tomcat.

2

Cả hai câu trả lời hữu ích ở trên đều tốt, nhưng tôi thích nhiều hơn mod_proxy trên mod_jk. Không cần cài đặt thêm cho mod_proxy, không giống như mod_jk và quá trình thiết lập dễ dàng hơn nhiều. mod_jk cung cấp cho bạn nhiều quyền kiểm soát hơn đối với việc điều chỉnh chi tiết các tham số Tomcat, nhưng nếu bạn chỉ muốn chuyển hướng đơn giản từ Apache sang Tomcat, thì mod_proxy là cách để thực hiện.

1

Nếu bạn muốn nội dung tĩnh để được phục vụ bởi Apache Tomcat thay vì bạn nên sử dụng mod_jk: http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html

Và những gì về SSL - nếu chúng ta muốn Apache để xử lý HTTPS, bởi vì nó là nhanh hơn sau đó java/Tomcat?

Các vấn đề liên quan