[VFOSSA] Có cái tin về NGINX này cũng hay

Dương "Yang" ヤン Hà Nguyễn cmpitg at gmail.com
Wed Mar 14 21:35:54 ICT 2012


Chào mọi người,

Em xin phép comment một chút về kỹ thuật để tránh hiểu lầm.

On Wed, Mar 14, 2012 at 5:56 PM, Ta Quang Thai <thaitq at gmail.com> wrote:
>
> Không đến nỗi quá khó dùng. Nhưng triển khai được nó phải tầm kỹ sư chứ
> không phải người trần mắt thịt như anh em mình :)
>

Anh (Tạ) Thái nói vậy là không đúng.  Ở mức độ thông thường (không tùy
biến quá nhiều, không dựa vào đặc thù cụ thể của nền tảng và hệ thống)
Nginx triển khai còn dễ và ít mắc lỗi hơn Apache hay các loại web
server khác.  Tài liệu và wiki + use cases của Nginx rất đầy đủ, chỉ
cần bỏ chút thời gian làm + hiểu hệ thống của mình là được.  Kỹ sư hay
không phải kỹ sư không nói lên điều gì cả.

>
> Cái này chỉ đơn thuần là một phần mềm http server, reverse server và mail
> proxy cỡ nhỏ nên cũng chẳng có đến mức gọi là cộng đồng phát triển. Nó chỉ
> ngon ở các đón tiếp request, tổ chức phản hồi cực nhanh thôi.
>
> Thằng này không thể so sánh với Apache, Tomcat hay Jboss được vì nó bao gồm
> cả những thứ xử lý server side (kiểu như ngôn ngữ PHP, Perl, JSP... ấy).
>
> Đối với các site (cực cực lớn) người ta sẽ tách ra nhiều thành phần chức
> năng thì thằng nginx thường đảm nhận vai trò caching (request đến thằng
> Apache, Tomcat, Jboss, IIS ...) để lưu dữ liệu và phải hồi người dùng.
>
> Cực cực lớn nữa thì người ta dùng thêm các chức năng reverse proxy nhằm phân
> loại request trong hệ thống.
>

Anh Thái nói vậy lại càng sai:

* Thứ nhất: Apache là HTTP server, còn Nginx là web server (trong đó
không chỉ có HTTP).  Vậy theo ngữ cảnh anh nói thì ông nào "nhỏ" hơn
ông nào?

* Thứ hai: Apache không "bao gồm" các thành phần xử lý server side.
Apache xử lý những anh chàng kia thông qua các modules (mods): để chơi
PHP cần có mod_php, để chơi Perl cần mod_perl, để chơi Java cần
mod_jserv hoặc mod_jk, ...  Tất cả các thằng đều có thể được chơi qua
mod_cgi.  Cách chơi của về bản chất của Nginx cũng không hề ngoại lệ.
Điểm khác biệt lớn nhất giữa Apache và Nginx là Apache có các thành
phần đơn giản hóa việc xử lý các mod nói trên, còn Nginx dành phần lớn
phần việc đó cho người dùng.  Thêm nữa, có thành phần builtin hay phải
dùng mod bên ngoài không nói lên được "ông nào không thể sánh được với
ông nào".

* Thứ ba: Nginx *thường* được dùng làm *reverse proxy* chứ *không*
phải caching proxy!  Chính wiki của Nginx[1] cũng khẳng định điều này.
 Anh nói Nginx "thường đảm nhận vai trò caching" là sai hoàn toàn!
Nhầm lẫn hai khái niệm này là rất nghiêm trọng.

Khi cần caching proxy, thông thường người ta hay dùng Squid.

* Thứ tư: người ta không dùng Nginx làm reverse proxy để phân loại
request trong hệ thống.  Nginx khi dùng làm reverse proxy đảm nhận đầy
đủ tất cả các vai trò của reverse proxy[2] thông thường.

>
> Kết luận: Làng nhàng thì người ta dùng ngay chức năng có sẵn trong Apache,
> Tomcat, Jboss, IIS làm web server cho tiện. Khủng khi cần phân rã nhiều thì
> em Nginx mới được ỏ ê đến.
>

Đây là kết luận của cá nhân anh chứ không dựa trên bằng chứng khách quan nào cả.

P.S. original author và developers của Nginx là Igor Sysoev + NGINX
Inc. *không* có nghĩa đây là sản phẩm của *một người* hay *một công
ty*.  Giống như nhạc trưởng Linux Torvalds, Sysoev và NGINX điều hướng
phát triển của Nginx chứ không phải là người phát triển duy nhất.

[1] http://wiki.nginx.org/Faq#For_which_general_use_cases_is_Nginx_more_appropriate_than_Squid.3F_.28And_vice_versa....29

[2] https://en.wikipedia.org/wiki/Reverse_proxy

Best regards,
Dương
-- 
Dương "Yang" ヤン Hà Nguyễn ("Nguyễn Hà Dương" in Vietnamese, 「グエンヤン」 in Japanese)
Personal page: http://cmpitg.github.com/
Web log: http://cmpitg.wordpress.com/
"Life is a hack"

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GIT/C/ED/L d++ s-:-(:) !a C+++(++++) ULU++++>$ P-- L+++>$ E+++
W++>+++ N+ o+ K w--- O- M@ V- PS+ PE++ Y+>++ PGP++ t+ 5 X+ R-
tv+ b+++ DI+++ D++ G+++ e* h* r* y-
-----END GEEK CODE BLOCK-----


More information about the Members mailing list