This entry is part 1 of 6 in the series Nginx toàn tập

Giới thiệu

Nginx là 1 ứng dụng để chạy máy chủ với vai trò là webserver hoặc cũng có thể đóng vai trò reverse proxy cho các giao thức HTTP, HTTPS, SMTP, POP3, IMAP, có thể đóng vai trò cân bằng tải (load balancer). Không giống như các loại ứng dụng chạy webserver truyền thống khác chẳng hạn như apache,… Nginx không dựa trên thread để xử lý yêu cầu mà thay vào đó nó sử dụng một kiến trúc theo hướng sự kiện (event-driven) bất đồng bộ.

Nginx có hiệu suất cao và yêu cầu bộ nhớ thấp hơn so với Apache. Ngoài ra, bởi vì Nginx xử lý các yêu cầu theo hướng sự kiện bất đồng bộ không sử dụng thread như các webserver truyền thống khác nên nó cũng giải quyết được vấn đề C10K.

C10K hiểu đơn giản thì do các máy chủ web truyền thống xử lý các yêu cầu dựa trên thread, mỗi khi có một yêu cầu mới thì máy chủ sẽ tạo ra 1 thread để xử lý cho yêu cầu đó. Số lượng yêu cầu càng nhiều thì số lượng thread xử lý càng tăng, điều này dẫn đến việc thiếu hụt tài nguyên để cấp cho các thread để xử lý.

Những tính năng của máy chủ HTTP Nginx

Phục vụ cho tập tin tĩnh và lập chỉ mục cho tập tin

Cân bằng tải đơn giản và khả năng chịu lỗi

Cấu hình linh hoạt, lưu lại nhật ký truy vấn

Hỗ trợ tăng tốc với bộ nhớ đệm của Fastcgi, scgi và các máy chủ memcached

Hỗ trợ mã hóa TLS và SSL

Cài đặt nginx bằng biên dịch mã nguồn

Trước tiên để thực hiện build một phần mềm hay ứng dụng nào trên centos thì cần phải kiểm tra và thực hiện cài đặt các công cụ hỗ trợ cho việc biên dịch mã nguồn.

Thực hiện tải mã nguồn của Nginx tại http://nginx.org/en/download.html

Phiên bản được sử dụng tại thời điểm hiện tại là 1.10.3, nếu muốn cài đặt các phiên bản khác hoặc mới hơn thì ta có thể vào link trên để lựa chọn.

Tải các bộ thư viện liên quan, thực hiện giải nén để tiến hành build cùng lúc với souce của Nginx

Tiến hành cài đặt Nginx

Một vài tham số cơ bản khi cấu hình

–user: chỉ định user sẽ được dùng để chạy nginx, có thể chỉnh sửa trong file config của nginx

–prefix: Chỉ định đường dẫn tới nơi cài đặt của nginx

–error-log-path: Chỉ định đường dẫn mặc định cho error log

–http-log-path: Chỉ định đường dẫn mặc định cho nơi chứa file ghi log truy cập http

Thực hiện cấu hình trước khi cài đặt cho Nginx. Dưới đây là một số tham số kham khảo, ngoài ra có thể tùy chỉnh các tham số khác có thể tìm thấy bằng việc dùng lệnh ./configure –help

Khi thực hiện config nếu có báo lỗi thư viện đang thiếu thì có thể cài đặt thêm bằng lệnh yum như sau

Tiến hành biên dịch và cài đặt

Như ở cấu hình trên ta dùng user nginx để chạy Nginx. Vì vậy ta cần tạo user và group nginx để có thể sử dụng

Do khi ta biên dịch bằng source thì chưa có file script dành cho việc start, restart, stop,… cho Nginx nằm trong /etc/init.d/ nên ta cần tạo file script nginx tại /etc/init.d/ và thêm đoạn script sau

Bật cho nginx có thể khởi động cùng lúc khi server bị reboot

Sau đó chạy thử nginx để kiểm tra

Tham khảo:

https://lcdung.top/nginx-va-apache/

http://nginx.org/en/docs/http/ngx_http_core_module.html

https://viblo.asia/p/tim-hieu-va-huong-dan-setup-web-server-nginx-OREGwBwlvlN

https://www.vultr.com/docs/how-to-compile-nginx-from-source-on-centos-7

https://viblo.asia/p/tim-hieu-va-huong-dan-setup-web-server-nginx-OREGwBwlvlN

Series NavigationHướng dẫn liệt kê danh sách domain của nginx >>

LEAVE A REPLY

Please enter your comment!
Please enter your name here