Oct 6, 2010

Apache là gì ?


Apache mà ebook nhắc đến là 1 open-source Web Server.

Lập trình Web thì bạn sẽ phải có 1 Web server trên máy mình để chạy thử trang PHP. Trên Windows thì có thể dụng IIS thay cho Apache, bạn lên trang www.php.net để xem hướng dẫn.

Tiện đây xin giới thiệu sơ qua Apache cho bạn biết luôn.

Apache là 1 open-source Web server và free hoàn toàn được hỗ trợ bởi Apache Software Foundation. Có thể download ở http://httpd.apache.org/
Mặc dù free và Open-Source nhưng Apache sức mạnh và tính ổn định của nó được đánh giá ở tầm cỡ thương mại. Đến nay đây vẫn là best choice cho giải pháp máy chủ Web.

Môi trường tốt nhất để sử dụng Apache là Unix.
Khác với IIS trên Windows Apache trên Unix có 3 chế độ hoạt động khác nhau : winnt, prefork và worker. Đây là điểm mà IIS không bì được với Apache.

Với IIS, Web Server chỉ có 1 Child Process và Child Process này sẽ tạo các Thread để handle các request, cơ chế này tương ứng với winnt của Apache, và cũng là mức hoạt động thấp nhất.

Apache prefork và worker cho phép mở nhiều Child Process, với 1 thread/1 child process (prefork) hoặc many thread/1 child process (worker). Do đó Apache cho phép xử lý mạnh hơn với prefork và càng mạnh hơn nữa với worker. Tuy nhiên cái gì mạnh thì tốn tài nguyên, còn về ổn định thì prefork là ổn định nhất (đây là mpm thường dùng).

Với prefork và 1 server Unix tầm trung phải chia xẻ cho khoảng 500 người dùng nhiều dịch vụ khác cùng lúc, Apache có thể đạt tới mức xử lý 5000 request/1 second (được test bởi chính tay người viết là tui, tuy nhiên do test trên mạng local nên có thể không thực tế lắm)

Bạn học PHP thì sử dụng Web Server nào cũng được, IIS hay Apache tùy ý. Nếu dùng Windows Professional thì có thể dùng IIS cho khỏe, Apache thì config hơi cực chút.

No comments:

Post a Comment