Hiện tại tôi đang chạy đơn tomcat với ứng dụng WAR đơn lẻ trên cổng 80. Tên miền www.foo.org được trỏ tới máy chủ ip này.Tomcat và nhiều tên miền/ứng dụng
Quy trình thêm www.bar.org miền cho ứng dụng khách khác trên cổng 80 là gì?
Cảm ơn bạn
Hiện tại tôi đang chạy đơn tomcat với ứng dụng WAR đơn lẻ trên cổng 80. Tên miền www.foo.org được trỏ tới máy chủ ip này.Tomcat và nhiều tên miền/ứng dụng
Quy trình thêm www.bar.org miền cho ứng dụng khách khác trên cổng 80 là gì?
Cảm ơn bạn
Ngay từ đầu bạn có một hồ sơ duy nhất "Host" trong conf của bạn/server.xml cho localhost
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
Bây giờ bạn có thể thêm một "Host" hồ sơ, ví dụ
<Host name="anotherclient.com" appBase="anotherclient" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="anotherclient_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
trong đó name="anotherclient.com"
là miền của ứng dụng khách mới và appBase="anotherclient"
là tên thư mục gốc của ứng dụng web (nơi bạn triển khai chiến dịch của mình); nó liên quan đến thư mục nhà tomcat.
Thay đổi sẽ được chấp nhận sau khi khởi động lại tomcat.
Các yêu cầu đi đến bất kỳ lĩnh vực khác (không được liệt kê trong server.xml
) nhưng trỏ đến địa chỉ IP của máy chủ của bạn sẽ được chuyển đến các ứng dụng mặc định, nó được quy định trong Engine
yếu tố
<Engine name="Catalina" defaultHost="localhost">
Thông thường, bạn có một tomcat (hoặc máy chủ ứng dụng khác) trên cổng khác nhau từ 80 (như 8080 hoặc 7001 hoặc bất cứ điều gì bạn muốn). Sau đó bạn đặt một máy chủ web (như máy chủ http apache) trên cổng 80 và cấu hình một hoặc nhiều trình kết nối để trỏ đến cổng khác nhau trên máy chủ ứng dụng khác nhau với địa chỉ khác nhau.
Đối với Apache http + tomcat bạn có thể có một cái nhìn tại liên kết này:
http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
Không có lý do đặc biệt để thêm một sản phẩm khác vào môi trường của OP: vấn đề này có thể được giải quyết bằng cách sử dụng riêng Tomcat. –
Đó chỉ là thực hành tốt nhất trong môi trường chuyên nghiệp để có máy chủ ứng dụng và web. – Guaido79
Malarkey: Tomcat là một máy chủ web hoàn toàn chấp nhận được. Gọi một cái gì đó là "thực hành tốt nhất" không làm cho nó trở thành phương pháp hay nhất. Đó là một/phổ biến/thực hành, nhưng chắc chắn không phải là một thực hành "tốt nhất". –
Trong cấu hình mặc định của nó, Tomcat chấp nhận yêu cầu đối với bất kỳ tên máy và gửi chúng đến "localhost" < chủ > được định nghĩa trong conf/server.xml. Nếu bạn không thay đổi điều đó, thì tất cả những gì bạn phải làm là đảm bảo rằng bạn đã thiết lập bản ghi DNS cho cả hai tên máy chủ để trỏ đến máy chủ của bạn.
Nếu bạn muốn có một bộ ứng dụng web khác nhau cho mỗi tên máy chủ, thì bạn sẽ phải xác định một máy chủ < thứ hai > trong conf/server.xml và sử dụng tên máy chủ thích hợp cho nó. (Lưu ý rằng bạn sẽ luôn phải có máy chủ lưu trữ "mặc định" trong đó tất cả yêu cầu không khớp với bất kỳ máy chủ được xác định rõ ràng nào).
Bạn có thể đọc tài liệu cho < chủ > đây: http://tomcat.apache.org/tomcat-7.0-doc/config/host.html (Đó là cho Tomcat 7.0.x. Bạn đã không đề cập đến phiên bản của bạn vì vậy tôi đã cho bạn một liên kết đến tài liệu phiên bản mới nhất của).
Cảm ơn bạn - Phiên bản 7 của nó, Còn các tệp WAR thì sao? mỗi khách hàng cần triển khai khác nhau? – user648026
@ user648026 Mỗi
Vì vậy, duy nhất tomcat chạy trên cổng 80 có thể xử lý nhiều máy chủ trên cùng một cổng (80) với một WAR, sử dụng nhiều "máy chủ" cấu hình. – user648026
Điều này có nghĩa là các cuộc chiến tranh có tại '/ opt/tomcat/webapps/ROOT.war' cho trang web foo.org ban đầu, và sau đó'/opt/tomcat/anotherclient/ROOT.war' cho trang web bar.org mới ? – CodeMed
@CodeMed Vâng, đó là chính xác. Tôi chỉ thử bản thân mình và đặt các WAR như thế có vẻ phù hợp với tôi. –
chúng ta phải tạo ra thư mục đó một ourclient ourself hoặc nó tạo sau khi khởi động lại tomcat7 – dollar