18 câu hỏi phỏng vấn và câu trả lời hàng đầu về Nginx (2025)

Dưới đây là những câu hỏi phỏng vấn Nginx và câu trả lời dành cho cả người mới vào nghề cũng như ứng viên lập trình viên có kinh nghiệm để có được công việc mơ ước của mình.


1) Giải thích Nginx là gì?

Nginx là một máy chủ web và máy chủ proxy ngược cho các giao thức HTTP, HTTPS, SMTP, POP3 và IMAP.

Tải xuống PDF miễn phí: Câu hỏi phỏng vấn Nginx


2) Hãy kể tên một số tính năng đặc biệt của Nginx?

Các tính năng đặc biệt của máy chủ Nginx bao gồm

  • Proxy ngược/ Bộ cân bằng tải L7
  • Trình thông dịch Perl nhúng
  • Nâng cấp nhị phân ngay lập tức
  • Hữu ích cho việc viết lại URL và hỗ trợ PCRE tuyệt vời

3) Hãy nêu sự khác biệt giữa Nginx và Apache?

Nginx Apache
  • Nginx là một máy chủ web dựa trên sự kiện
  • Mọi yêu cầu đều được xử lý bởi một luồng duy nhất.
  • Nginx tránh ý tưởng về tiến trình con.
  • Nginx giống như tốc độ
  • Nginx tốt hơn khi nói đến việc sử dụng bộ nhớ và kết nối
  • Nginx tốt hơn khi bạn muốn cân bằng tải
  • Đối với PHP, Nginx có thể được ưa chuộng hơn vì nó hỗ trợ PHP nội bộ
  • Nginx không hỗ trợ các hệ điều hành như IBMi và OpenVMS.
  • Nginx chỉ đi kèm với các tính năng cốt lõi
  • Hiệu suất và khả năng mở rộng của Nginx không phụ thuộc vào phần cứng
  •  Apache là một máy chủ dựa trên quy trình
  • Luồng đơn xử lý một yêu cầu duy nhất.
  • Apache dựa trên các tiến trình con
  • Apache giống như sức mạnh
  • Apache không đạt tiêu chuẩn khi nói đến việc sử dụng bộ nhớ và kết nối
  • Apache sẽ từ chối các kết nối mới khi lưu lượng đạt đến giới hạn của các quy trình
  • Apache hỗ trợ PHP, Python, Perl và các ngôn ngữ khác bằng cách sử dụng plugin. Nó hữu ích khi ứng dụng dựa trên Python hoặc Ruby
  • Apache hỗ trợ nhiều hệ điều hành hơn
  • Apache cung cấp nhiều chức năng hơn Nginx
  • Apache phụ thuộc vào các thành phần phần cứng như CPU ​​và bộ nhớ

4) Giải thích cách Nginx có thể xử lý các yêu cầu HTTP?

Nginx sử dụng mô hình phản ứng. Vòng lặp sự kiện chính chờ OS để báo hiệu sự kiện sẵn sàng - sao cho dữ liệu có thể truy cập để đọc từ ổ cắm, tại thời điểm đó dữ liệu được đọc vào bộ đệm và được xử lý. Một luồng đơn có thể phục vụ hàng chục nghìn kết nối đồng thời.


5) Trong Nginx, làm thế nào bạn có thể ngăn chặn các yêu cầu xử lý có tên máy chủ không xác định?

Một máy chủ chỉ loại bỏ các yêu cầu có thể được định nghĩa là  

Server {

listen                80;

server_name  " " ;

return              444;

}

Ở đây, tên máy chủ được giữ dưới dạng chuỗi rỗng, khớp với yêu cầu không có trường tiêu đề “Host” và mã 444 không chuẩn của Nginx được trả về để chấm dứt kết nối.

Câu hỏi phỏng vấn Nginx
Câu hỏi phỏng vấn Nginx

6) Lợi ích của việc sử dụng “máy chủ proxy ngược” là gì?

Máy chủ proxy ngược có thể ẩn sự hiện diện và đặc điểm của máy chủ gốc. Nó hoạt động như một trung gian giữa đám mây internet và máy chủ web. Nó tốt cho lý do bảo mật, đặc biệt là khi bạn đang sử dụng dịch vụ lưu trữ web.


7) Hãy cho biết cách sử dụng máy chủ Nginx tốt nhất là gì?

Cách sử dụng tốt nhất của máy chủ Nginx là triển khai nội dung HTTP động trên mạng bằng cách sử dụng SCGI, máy chủ ứng dụng WSGI, trình xử lý FastCGI cho các tập lệnh. Nó cũng có thể hoạt động như một bộ cân bằng tải.


8) Hãy nêu tiến trình Master và Worker trong Nginx Server?

  • Quy trình chính: Nó đọc cũng như đánh giá cấu hình và duy trì các quy trình làm việc.
  • Quy trình làm việc: Trên thực tế, nó thực hiện việc xử lý các yêu cầu.
Câu hỏi phỏng vấn Nginx
Câu hỏi phỏng vấn Nginx

9) Giải thích cách bạn có thể khởi động Nginx thông qua một cổng khác ngoài cổng 80?

Để khởi động Nginx thông qua một cổng khác, bạn phải vào /etc/Nginx/sites-enabled/ và nếu đây là tệp mặc định, thì bạn phải mở tệp có tên là "default". Chỉnh sửa tệp và đặt cổng bạn muốn Giống như máy chủ { lắng nghe 81; }


10) Giải thích xem có thể thay thế lỗi Nginx như lỗi 502 bằng lỗi 503 không?

  • 502= Cổng kết nối không tốt
  • 503= Máy chủ quá tải

Vâng, điều đó là có thể nhưng bạn phải đảm bảo rằng lỗi fastcgi_intercept_errors được đặt thành BẬT và sử dụng chỉ thị trang lỗi.  

Location / {

fastcgi_pass 127.0.01:9001;

fastcgi_intercept_errors on;

error_page 502 =503/error_page.html;

#...

}

11) Trong Nginx, hãy giải thích cách bạn có thể giữ nguyên dấu gạch chéo kép trong URL?

Để giữ dấu gạch chéo kép trong URL, bạn phải sử dụng merge_slashes_off; Cú pháp: merge_slashes [bật / tắt] Mặc định: merge_slashes trên Bối cảnh: http, máy chủ


12) Giải thích ngx_http_upstream_module được sử dụng để làm gì?

ngx_http_upstream_module được sử dụng để xác định nhóm máy chủ có thể tham chiếu theo các lệnh fastcgi pass, proxy pass, uwsgi pass, memcached pass và scgi pass.


13) Giải thích vấn đề C10K là gì?

Sự cố C10K liên quan đến ổ cắm mạng không thể xử lý số lượng lớn máy khách (10,000) cùng một lúc.


14) Hãy cho biết mục đích sử dụng của chỉ thị stub_status và sub_filter?

  • Chỉ thị Stub_status: Chỉ thị này được sử dụng để biết trạng thái hiện tại của Nginx như kết nối đang hoạt động hiện tại, tổng số kết nối được chấp nhận và xử lý số lượng kết nối đọc/ghi/chờ hiện tại
  • Chỉ thị Sub_filter: Nó được sử dụng để tìm kiếm và thay thế nội dung trong phản hồi và sửa chữa nhanh dữ liệu cũ

15) Giải thích xem Nginx có hỗ trợ nén yêu cầu lên thượng nguồn không?

Bạn có thể nén yêu cầu lên thượng nguồn bằng cách sử dụng mô-đun Nginx súng khóa. Mô-đun gunzip là bộ lọc giải nén các phản hồi bằng “Mã hóa nội dung: gzip” cho các máy khách hoặc máy chủ không hỗ trợ phương pháp mã hóa “gzip”.


16) Giải thích cách lấy được thời gian hiện tại trong Nginx?

Để lấy thời gian hiện tại trong Nginx, bạn phải sử dụng các biến từ mô-đun SSI, $date_gmt và $date_local.

  • Proxy_set_header THỜI GIAN $date_gmt;

17) Giải thích mục đích của –s với Nginx Server là gì?

Để chạy tệp thực thi của Nginx, tham số –s được sử dụng.


18) Giải thích cách thêm mô-đun vào Nginx Server?

Trong quá trình biên dịch, các mô-đun Nginx phải được chọn vì Nginx không hỗ trợ việc chọn mô-đun khi chạy.

Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn

Chia sẻ

4 Comments

  1. hình đại diện venu gopal choudhary nói:

    Tôi nhận thấy có một câu sai trong bài viết của bạn.

    8) Hãy nêu tiến trình Master và Worker trong Nginx Server?

    Vui lòng cập nhật nó.
    Tiến trình chính duy trì cấu hình và tiến trình công nhân thực hiện.

    1. Có một số hiểu lầm, câu trả lời ngụ ý như vậy.

    2. hình đại diện bibhu bal nói:

      đúng rồi, vui lòng cập nhật. Quy trình chính duy trì cấu hình và đọc cũng như kiểm soát và duy trì worker trong khi worker thực hiện quy trình.

Bình luận

Chúng tôi sẽ không công khai email của bạn. Các ô đánh dấu * là bắt buộc *