Apache HTTP Server และ Apache Tomcat เกี่ยวข้องกันอย่างไร (ถ้าทั้งหมด)


34

ขณะนี้ฉันมีApache httpdทำงานบนเซิร์ฟเวอร์ Ubuntu VPS ที่ใช้งานจริง ฉันเขียนสคริปต์ PHP

ฉันสนใจที่จะเรียนรู้ Java และฉันสงสัยว่าฉันจะเขียน Java ฝั่งเซิร์ฟเวอร์เพื่อทำงานกับการตั้งค่าปัจจุบันของฉันได้อย่างไร

วิธีApache TomcatและApache HTTP Serverที่เกี่ยวข้องกับแต่ละอื่น ๆ ?

Tomcat สามารถเป็นโมดูลของ httpd ได้หรือไม่?

หรือพวกเขาเป็นเพียงแค่สองโครงการที่แตกต่างกันมากที่เกิดขึ้นโดยองค์กรเดียวกัน (Apache Software Foundation)


5
Or are they simply just two very different projects that happen to be steered by the same organisation?- พวกเขาคือ
Mchl

@Mchl พวกเขาก็คล้ายกันมาก
Pacerier

คำตอบ:


56

โดยทั่วไปแล้วเซิร์ฟเวอร์ Apache HTTP เป็นเพียงเว็บเซิร์ฟเวอร์ธรรมดาที่ออกแบบมาเพื่อให้บริการหน้าเว็บแบบคงที่ มีโมดูลจำนวนมากที่สามารถติดตั้งเพื่อปรับปรุงความสามารถของ Apache เพื่อให้สามารถให้บริการหน้าเว็บแบบไดนามิกโดยใช้เทคโนโลยีที่หลากหลายเช่น PHP, CGI หรืออะไรก็ตาม แต่แกนหลักของ Apache เป็นเพียงเซิร์ฟเวอร์ HTTP ธรรมดา

Tomcat ตรงกันข้ามได้รับการออกแบบมาโดยเฉพาะจากพื้นดินขึ้นเพื่อทำหน้าที่เป็นเครื่องยนต์Java Servlet มันมีวัตถุประสงค์หลักคือการใช้ Java Servlet API และรัน Java servlets เพื่อวัตถุประสงค์ในการสร้างเว็บไซต์แบบไดนามิก Tomcat ยังสามารถใช้เป็นเซิร์ฟเวอร์ HTTP ปกติที่ให้บริการหน้าแบบสแตติก แต่ไม่ใช่วัตถุประสงค์หลัก (เช่นกัน Tomcat ถูกกล่าวหาว่าช้ากว่า Apache httpd เมื่อมันมาถึงการให้บริการหน้าคงที่)

ทั้งสองเทคโนโลยีที่สามารถนำมาใช้ร่วมกันผ่านโมดูลเชื่อมต่อที่เรียกว่าmod_jk สิ่งนี้จะช่วยให้คุณใช้เซิร์ฟเวอร์ Apache HTTP เพื่อให้บริการหน้าเว็บสแตติกปกติและเครื่องยนต์ Tomcat Servlet เพื่อใช้งานเซิร์ฟเล็ต


เราสามารถพูดได้หรือไม่ว่าเมื่อดาวน์โหลดหนึ่ง Tomcat s / เขาดาวน์โหลดเว็บเซิร์ฟเวอร์เช่น Apache Httpd (แต่ไม่ตรงนี้) และ Servlet Container ซึ่งเป็นเพียงโปรแกรม Java
Koray Tugay

@ Charles ทำไม Tomcat ช้ากว่า Apache?
Pacerier

@Pacerier - เขากล่าวว่า "ที่ถูกกล่าวหาว่า" เพราะในขณะที่คนอย่างแพร่หลายเชื่อว่าในความเป็นจริงมันไม่เป็นความจริง
จูลส์

@KorayTugay ไม่ถูกต้องไม่ Tomcat เป็นเพียงภาชนะบรรจุ servlet มันเกิดขึ้นมาพร้อมกับเซิร์ฟเล็ตเริ่มต้นที่ใช้เว็บเซิร์ฟเวอร์แบบคงที่ คุณไม่สามารถแยกส่วนประกอบของเว็บเซิร์ฟเวอร์ออกได้โดยไม่ต้องใช้ servlet container
จูลส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.