Hướng dẫn does nginx include php? - nginx có bao gồm php không?

I, Web server là gì ?

1, Khái niệm.

2, Tổng quan về Web server

  • Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia)

  • Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP – giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác.

  • Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng http://www.abc.com sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.abc.com. Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của bạn.

  • Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet.

  • Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn.

  • Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của mình, Web Server Software cũng chỉ là một ứng dụng phần mềm. Nó được cài đặt, và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet).

  • Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng.

  • Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến. Vị trí đặt server đóng vai trò quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ server và máy tính truy cập.

II, Tìm hiểu về Nginx

1, Tổng quan

  • Nginx là 1 máy chủ reverse proxy mã nguồn mở cho các giao thức HTTP, HTTPS, SMTP, POP3 và IMAP, cũng như là 1 máy chủ cân bằng tải (load balancer), HTTP cache và web. Dự án Nginx được bắt đầu với việc tập trung vào tính đồng thời cao, hiệu năng cao và sử dụng tài nguyên thấp và được phát triển bởi Igor Sysoev vào nằm 2002, được phân phối ra công chúng lần đầu vào nằm 2004.

  • Không giống với các máy chủ web truyền thống, Nginx không dựa trên luồn (thread) để xử lý yêu cầu. Thay vào đó, nó sử dụng 1 kiến trúc bất đồng bộ hướng sự kiện linh hoạt . Kiến trúc này sử dụng ít, nhưng quan trọng hợn, là lượng bộ nhớ có thể dự đoán khi hoạt động. Đây chính là điểm mấu chốt khiến Nginx là 1 trong số ít những máy chủ được viết để giải quyết vấn đề C10K

  • Nói đến đây một số bạn sẽ tò mò là vấn đề

                    server_name abc.com “”;
                    server_name _ “”;
    
    2 là gì ? 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 luồn (thread), tức là mỗi khi máy chủ web nhận được 1 yêu cầu mới, nó sẽ tạo ra 1 luồng mới để xử lý cho yêu cầu này, và cứ thế khi số lượng các yêu cầu gửi đến máy chủ web ngày càng nhiều thì số lượng các luồn xử lý này trong máy chủ sẽ ngày càng tăng. Và điều này dẫn đến việc thiếu hụt tài nguyên cấp cho các luồn xử lý trên ... (Các bạn có thể tìm hiểu rõ hơn tại đây)

  • Hiện nay, có khoảng 14,72 % (hơn 137 triệu) các website trên Internet đang sử dụng Nginx là máy chủ web.

Hướng dẫn does nginx include php? - nginx có bao gồm php không?

2, Kiến trúc của Nginx

  • Khi được khởi chạy service, nginx khởi tạo mọt tiến trình chủ và cũng là tiến trình duy nhất tồn tại trong bộ nhớ
                    server_name abc.com “”;
                    server_name _ “”;
    
    3. Tiến trình này không chịu trách nhiệm tự xử lý bất kỳ request nào từ phía client mà thay vào đó nó sinh ra các tiến trình con gọi là
                    server_name abc.com “”;
                    server_name _ “”;
    
    4 để xử lý các request này.

Hướng dẫn does nginx include php? - nginx có bao gồm php không?

  • Để định nghĩa cho các
                    server_name abc.com “”;
                    server_name _ “”;
    
    4 này, chúng ta cần sử dụng tệp tin cấu hình để xác định số tiến trình, số lượng kết nối , tài khoản và nhóm tài khoản mà mỗi
                    server_name abc.com “”;
                    server_name _ “”;
    
    4 chạy

III, Cấu hình Http trong Nginx

1, Giới thiệu module Http trong Nginx

  • Module HTTP Core là thành phần chứa tất cả các khối, chỉ thị và các biến cơ bản của máy chủ HTTP. Mặc định module này được cài đặt trong khi biên dịch, nhưng không được bật lên khi Nginx chạy, việc sử dụng module này là không bắt buộc

  • Module này là 1 trong những module tiêu chuẩn lớn nhất của Nginx – nó cung cấp 1 số lượng lớn các chỉ thị và biến. Để có thể hiểu được tất cả các yếu tố này và vai trò của chúng, chúng ta sẽ bắt tay vào tìm hiểu 3 khối chỉ thị chính –

                    server_name abc.com “”;
                    server_name _ “”;
    
    7,
                    server_name abc.com “”;
                    server_name _ “”;
    
    8 và
                    server_name abc.com “”;
                    server_name _ “”;
    
    9.

    •                 server_name abc.com “”;
                      server_name _ “”;
      
      7 : được khai báo ở phần đầu của tập tin cấu hình. Nó cho phép chúng ta định nghĩa các chỉ thị và các khối từ tất cả các module liên quan đến khía cạnh HTTP của Nginx. Khối chỉ thị này có thể được khai báo nhiều lần trong tập tin cấu hình, và các giá trị chỉ thị được chèn trong khối http sau sẽ ghi đè lên các chỉ thị nằm trong khối http trước đó

    •                 server_name abc.com “”;
                      server_name _ “”;
      
      8 : khối này cho phép chúng ta khai báo 1 website. Nói cách khác, 1 website cụ thể (được nhận diện bởi 1 hoặc nhiều hostname) được thừa nhận bới Nginx và nhận cấu hình của chính nó. Khối này chỉ có thể được dùng bên trong khối http.

    •                 server_name abc.com “”;
                      server_name _ “”;
      
      9 : cho phép chúng ta định nghĩa 1 nhóm các thiết lập được áp dụng cho 1 vị trí cụ thể trên website (thể hiện qua URL của website đó). Khối location có thể được dùng bên trong 1 khối server hoặc nằm chồng bên trong 1 khối location khác.

Hướng dẫn does nginx include php? - nginx có bao gồm php không?

Trong biểu đồ trên, khu vực HTTP, được định nghĩa bởi khối http, bao quanh toàn bộ các cấu hình liên quan đến web. Nó cũng chứa 1 hoặc nhiều khối server, định nghĩa các tên miền của các website mà chúng ta có. Với mỗi website này, chúng ta có thể định nghĩa nhiều khối location mà cho phép chúng ta áp dụng các thiết lập bổ sung đến 1 URI yêu cầu cụ thể của website hoặc các URI yêu cầu khớp 1 mẫu nào đó.

2, Các chỉ thị

2.1 : Các chỉ thị về cấu hình HOST và SOCKET

  •         http {
            server {
                server_name abc.com;
                root /var/www/abc.com/;
                location /admin/ {
                    alias /var/www/abc.net/;
                }
            }
    
    3 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8
    • Chỉ rõ địa chỉ IP và/hoặc port được dùng bởi socket phục vụ website. Các website thường được phục vụ trên port 80 (giá trị mặc định) qua HTTP, hoặc 443 qua HTTPS.
    • Cú pháp:
              http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      5
    • Các tùy chọn bổ sung:
      •         http {
                server {
                    server_name abc.com;
                    root /var/www/abc.com/;
                    location /admin/ {
                        alias /var/www/abc.net/;
                    }
                }
        
        6 : Chỉ rõ khối server này được dùng như website mặc định cho bất kỳ yêu cầu nhận được tại địa chỉ IP và port được chỉ rõ.
      •         http {
                server {
                    server_name abc.com;
                    root /var/www/abc.com/;
                    location /admin/ {
                        alias /var/www/abc.net/;
                    }
                }
        
        7: Chỉ rõ website sẽ sử dụng SSL.
      • Các tùy chọn khác liên quan đến các lời gọi hệ thống bind và listen gồm:
                http {
                server {
                    server_name abc.com;
                    root /var/www/abc.com/;
                    location /admin/ {
                        alias /var/www/abc.net/;
                    }
                }
        
        8,
                http {
                server {
                    server_name abc.com;
                    root /var/www/abc.com/;
                    location /admin/ {
                        alias /var/www/abc.net/;
                    }
                }
        
        9,
                error_page 404 /not_found.html;
                error_page 500 501 502 503 504 /server_error.html;
                error_page 403 http://website.com/;
                error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
                error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
        
        0,
                error_page 404 /not_found.html;
                error_page 500 501 502 503 504 /server_error.html;
                error_page 403 http://website.com/;
                error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
                error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
        
        1,
                error_page 404 /not_found.html;
                error_page 500 501 502 503 504 /server_error.html;
                error_page 403 http://website.com/;
                error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
                error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
        
        2,
                error_page 404 /not_found.html;
                error_page 500 501 502 503 504 /server_error.html;
                error_page 403 http://website.com/;
                error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
                error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
        
        3, và
                error_page 404 /not_found.html;
                error_page 500 501 502 503 504 /server_error.html;
                error_page 403 http://website.com/;
                error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
                error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
        
        4.
    • Ví dụ :
        listen 192.168.1.1:80;
        listen 127.0.0.1;
        listen 80 default;
        listen 443 ssl;
  •         error_page 404 /not_found.html;
            error_page 500 501 502 503 504 /server_error.html;
            error_page 403 http://website.com/;
            error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
            error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
    
    5 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8
    • Chỉ rõ địa chỉ IP và/hoặc port được dùng bởi socket phục vụ website. Các website thường được phục vụ trên port 80 (giá trị mặc định) qua HTTP, hoặc 443 qua HTTPS.
    • Cú pháp:
              http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      5
    • Các tùy chọn bổ sung:
    • Ví dụ :
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;

        error_page 404 /not_found.html;
        error_page 500 501 502 503 504 /server_error.html;
        error_page 403 http://website.com/;
        error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
        error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
5 :

                server_name abc.com “”;
                server_name _ “”;
  • Đăng ký 1 hoặc nhiều hostname cho khối server. Khi Nginx nhận 1 yêu cầu HTTP, nó so sánh giá trị Host trong phần header của yêu cầu với tất cả các khối server đang có. Khối server đầu tiên khớp với hostname này sẽ được chọn.

    • Nếu không có khối
                      server_name abc.com “”;
                      server_name _ “”;
      
      8 nào khớp với
              error_page 404 /not_found.html;
              error_page 500 501 502 503 504 /server_error.html;
              error_page 403 http://website.com/;
              error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
              error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
      
      8 trên, Nginx chọn khối server đầu tiên khớp với các thông số của chỉ thị listen (ví dụ như listen *:80 sẽ bắt tất cả các yêu cầu nhận được trên port 80), ưu tiên khối đầu tiên có tùy chọn mặc định được cho phép trên chỉ thị listen.
    • Cú pháp:
              error_page 404 /not_found.html;
              error_page 500 501 502 503 504 /server_error.html;
              error_page 403 http://website.com/;
              error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
              error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
      
      9
    • Lưu ý rằng chúng ta có thể sử dụng chuỗi rỗng như 1 giá trị của chỉ thị để bắt tất cả các yêu cầu không có giá trị Host trong phần header, nhưng chỉ sau ít nhất 1 tên thông thường (hoặc “_”)
    •         location / {
                  try_files $uri $uri.html $uri.php $uri.xml @proxy;
              }
              # the following is a "named location block"
              location @proxy {
                  proxy_pass 127.0.0.1:8080;
              }
      
      0 :
  • Sử dụng trong khối :

                    server_name abc.com “”;
                    server_name _ “”;
    
    8,
                    server_name abc.com “”;
                    server_name _ “”;
    
    7,
                    server_name abc.com “”;
                    server_name _ “”;
    
    9

    • Chỉ thị này áp dụng cho trường hợp của các chuyển hướng nội bộ (internal redirect). Nếu thiết lập thành on, Nginx sẽ sử dụng hostname đầu tiên được chỉ rõ trong chỉ thị server_name. Nếu thiết lập thành off, Nginx sẽ sử dụng giá trị Host trong phần header của yêu cầu HTTP.
    • Cú pháp:
              location / {
                  try_files $uri $uri.html $uri.php $uri.xml @proxy;
              }
              # the following is a "named location block"
              location @proxy {
                  proxy_pass 127.0.0.1:8080;
              }
      
      4
    • Giá trị mặc định: off
    •         location / {
                  try_files $uri $uri.html $uri.php $uri.xml @proxy;
              }
              # the following is a "named location block"
              location @proxy {
                  proxy_pass 127.0.0.1:8080;
              }
      
      5 :
  • Sử dụng trong khối :

                    server_name abc.com “”;
                    server_name _ “”;
    
    7

    • Chỉ thị này áp dụng cho trường hợp của các chuyển hướng nội bộ (internal redirect). Nếu thiết lập thành on, Nginx sẽ sử dụng hostname đầu tiên được chỉ rõ trong chỉ thị server_name. Nếu thiết lập thành off, Nginx sẽ sử dụng giá trị Host trong phần header của yêu cầu HTTP.
    • Cú pháp:
              location / {
                  try_files $uri $uri.html $uri.php $uri.xml @proxy;
              }
              # the following is a "named location block"
              location @proxy {
                  proxy_pass 127.0.0.1:8080;
              }
      
      4
    • Giá trị mặc định: off
    •         location / {
                  try_files $uri $uri.html $uri.php $uri.xml @proxy;
              }
              # the following is a "named location block"
              location @proxy {
                  proxy_pass 127.0.0.1:8080;
              }
      
      5 :
  •         keepalive_timeout 75;
            keepalive_timeout 75 60;
    
    3 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Chỉ thị này định nghĩa việc Nginx có hoặc không thêm giá trị port vào URL chuyển hướng.
    • Cú pháp:
              keepalive_timeout 75;
              keepalive_timeout 75 60;
      
      7
    • Giá trị mặc định: on
  •         keepalive_timeout 75;
            keepalive_timeout 75 60;
    
    8 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Chỉ thị này định nghĩa việc Nginx có hoặc không thêm giá trị port vào URL chuyển hướng.
    • Cú pháp:
              keepalive_timeout 75;
              keepalive_timeout 75 60;
      
      7
    • Giá trị mặc định: on
    •         keepalive_timeout 75;
              keepalive_timeout 75 60;
      
      8 :
  • Cho phép hoặc vô hiệu hóa tùy chọn socket TCP_NODELAY cho chỉ các kết nối keep-alive.

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Cú pháp:
              client_body_temp_path /tmp/nginx_rbf;
              client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
              client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
      
      2
    • NOTE : Lưu ý: Keep-alive (hoặc Keepalive) là 1 thông điệp được gửi bởi 1 thiết bị đến các thiết bị khác để kiểm tra rằng liên kết giữa 2 thiết bị đang hoạt động, hoặc để ngăn ngừa việc liên kết này bị mất.
    •         client_body_temp_path /tmp/nginx_rbf;
              client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
              client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
      
      3 :
  • Cho phép hoặc vô hiệu hóa tùy chọn socket TCP_NOPUSH (FreeBSD) hoặc TCP_CORK (Linux). Chỉ thị này chỉ áp dụng khi chỉ thị sendfile được cho phép. Nếu chỉ thị tcp_nopush được thiết lập là on, Nginx sẽ cố gắng truyền toàn bộ phần header phản hồi HTTP trong 1 gói tin TCP.

    • Cú pháp:
              client_body_temp_path /tmp/nginx_rbf;
              client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
              client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
      
      7
    • Giá trị mặc định: off
    •         client_body_temp_path /tmp/nginx_rbf;
              client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
              client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
      
      8 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7
  • Chỉ thị này định nghĩa 1 kích thước tối đa của dữ liệu được dùng cho mỗi lời gọi sendfile.

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Cú pháp:
          types {
            mimetype1 extension1;
            mimetype2 extension2 [extension3…];
            […]
          }
      
      1
    • Giá trị mặc định: 0
    •         client_body_temp_path /tmp/nginx_rbf;
              client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
              client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
      
      3 :

Cho phép hoặc vô hiệu hóa tùy chọn socket TCP_NOPUSH (FreeBSD) hoặc TCP_CORK (Linux). Chỉ thị này chỉ áp dụng khi chỉ thị sendfile được cho phép. Nếu chỉ thị tcp_nopush được thiết lập là on, Nginx sẽ cố gắng truyền toàn bộ phần header phản hồi HTTP trong 1 gói tin TCP.

  • Cú pháp:

            client_body_temp_path /tmp/nginx_rbf;
            client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
            client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
    
    7

    • Giá trị mặc định: off
    •         client_body_temp_path /tmp/nginx_rbf;
              client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
              client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
      
      8 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7
    • Chỉ thị này định nghĩa 1 kích thước tối đa của dữ liệu được dùng cho mỗi lời gọi sendfile.
  • Cú pháp:

        types {
          mimetype1 extension1;
          mimetype2 extension2 [extension3…];
          […]
        }
    
    1

    • Giá trị mặc định: 0
    •     types {
            mimetype1 extension1;
            mimetype2 extension2 [extension3…];
            […]
          }
      
      2 :
        http {
        server {
            server_name abc.com;
            root /var/www/abc.com/;
            location /admin/ {
                alias /var/www/abc.net/;
            }
        }

Khi 1 kết nối hết thời hạn, thông tin tương ứng của nó có thể được giữ trong bộ nhớ dựa vào trạng thái của kết nối đó. Việc sử dụng chỉ thị này sẽ xóa tất cả bộ nhớ tương ứng đến kết nối sau khi nó hết thời hạn.

  • Cú pháp:
        types {
          mimetype1 extension1;
          mimetype2 extension2 [extension3…];
          […]
        }
    
    6
    • Giá trị mặc định: off
    •         client_body_temp_path /tmp/nginx_rbf;
              client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
              client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
      
      8 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7
    • Chỉ thị này định nghĩa 1 kích thước tối đa của dữ liệu được dùng cho mỗi lời gọi sendfile.
        error_page 404 /not_found.html;
        error_page 500 501 502 503 504 /server_error.html;
        error_page 403 http://website.com/;
        error_page 404 @notfound; #nhảy đến 1 khối location được đặt tên là notfound
        error_page 404 =200 /index.html; # trong trường hợp lỗi 404, chuyển hướng đến index.html với mã phản hồi là 200 OK.
  • Cú pháp:

        types {
          mimetype1 extension1;
          mimetype2 extension2 [extension3…];
          […]
        }
    
    1

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Giá trị mặc định: 0
    •     types {
            mimetype1 extension1;
            mimetype2 extension2 [extension3…];
            […]
          }
      
      2 :
      • Khi 1 kết nối hết thời hạn, thông tin tương ứng của nó có thể được giữ trong bộ nhớ dựa vào trạng thái của kết nối đó. Việc sử dụng chỉ thị này sẽ xóa tất cả bộ nhớ tương ứng đến kết nối sau khi nó hết thời hạn.
      • Cú pháp:
            types {
              mimetype1 extension1;
              mimetype2 extension2 [extension3…];
              […]
            }
        
        6
      • 2.2 : Cấu hình đường dẫn và tài liệu
    •     types {
            mimetype1 extension1;
            mimetype2 extension2 [extension3…];
            […]
          }
      
      7 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9,
         include mime.types;
      
      1 Các biến được chấp nhận.
  • Định nghĩa tài liệu gốc, chứa các tập tin mà bạn muốn phục vụ cho khách.

    • Cú pháp:
         include mime.types;
      
      2
    • Giá trị mặc định: html
    •    include mime.types;
      
      3 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      9 Các biến được chấp nhận.
  • 1 chỉ thị mà chúng ta chỉ có thể đặt trong khối location. Nó đăng ký 1 đường dẫn khác cho Nginx lấy các tài liệu cho 1 yêu cầu cụ thể :

    • Chú thích : Khi 1 yêu cầu cho http://abc.com/ được nhận, các tập tin được phục vụ từ thư mục /var/www/abc.com. Tuy nhiên, nếu Nginx nhận 1 yêu cầu cho http://abc.com/admin/, đường dẫn được dùng để lấy tập tin là /var/www/abc.net/. Hơn thế nữa, giá trị của chỉ thị root không được thay đổi. Quá trình này vô hình trong mắt của các script động
    •    include mime.types;
      
      5 : error_page) gặp lỗi, nó sử dụng giá trị của chỉ thị error_page (tức là chính trang lỗi đó) để xử lý lỗi trên, và điều này lặp đi lặp lại, tạo ra vòng lặp vô hạn với lỗi trên (tình trạng này được gọi là đệ quy). Chỉ thị này cho phép hoặc vô hiệu hóa các trang lỗi đệ quy như trên.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      18
    • Giá trị mặc định: off
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    19 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9 Các biến được chấp nhận.
    • Cố gắng phục vụ các tập tin được chỉ rõ (các tham số từ 1 đến N-1 trong chỉ thị), nếu không có tập tin nào tồn tại, nhảy đến khối location được khai báo (tham số cuối cùng trong chỉ thị) hoặc phục vụ 1 URI được chỉ định.
    • Cú pháp: Nhiều đường dẫn tập tin, theo sau bởi 1 khối location được đặt tên hoặc 1 URI.
        location / {
            try_files $uri $uri.html $uri.php $uri.xml @proxy;
        }
        # the following is a "named location block"
        location @proxy {
            proxy_pass 127.0.0.1:8080;
        }
  • Trong ví dụ trên, Nginx sẽ cố gắng phục vụ các tập tin 1 cách bình thường. Nếu URI của yêu cầu không tương ứng với bất kỳ tập tin đang có nào, Nginx sẽ thêm .html vào URI và cố gắng phục vụ tập tin này 1 lần nữa. Nếu nó vẫn tiếp tục thất bại, Nginx thử với .php, sau đó là .xml. Nếu tất cả đều thất bại, 1 khối location khác (@proxy) xử lý yêu cầu này.

2.3 : Cấu hình các request từ client

  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    22 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Xác định số lượng tối đa các yêu cầu được phục vụ trên 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      26
    • Giá trị mặc định: 100
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    27 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      31
    • Giá trị mặc định: 75
        keepalive_timeout 75;
        keepalive_timeout 75 60;
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    32 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      31
    • Giá trị mặc định: 75
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    32 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      31
    • Giá trị mặc định: 75
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    32 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      31
      • Giá trị mặc định: 75
      •         server_name www.acb.com;
                server_name www.abc.com abc.com;
                server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
                server_name .website.com; # Kết hợp cả *.website.com và website.com
                server_name *.website.*;
                server_name ~^\.example\.com$;
        
        32 :
      • Tùy chọn này cho phép chúng ta vô hiệu hóa chức năng keepalive cho các trình duyệt web.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      36
    • Giá trị mặc định: off
  • Giá trị mặc định: msie6

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      31
    • Giá trị mặc định: off
  • Giá trị mặc định: 75

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      31
    • Giá trị mặc định: 75
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    32 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      31
    • Giá trị mặc định: 75
        client_body_temp_path /tmp/nginx_rbf;
        client_body_temp_path temp 2; # Nginx sẽ tạo các thư mục có tên 2 chữ số để giữ các tập tin dữ liệu yêu cầu.
        client_body_temp_path temp 1 2 4; # Nginx sẽ tạo 3 cấp thư mục (cấp đầu tiên: tên có 1 chữ số, cấp thứ 2: tên có 2 chữ số, cấp thứ 3: tên có 4 chữ số)
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    32 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      31
    • Giá trị mặc định: 75
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    32 :

    • Tùy chọn này cho phép chúng ta vô hiệu hóa chức năng keepalive cho các trình duyệt web.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      36
    • Giá trị mặc định: msie6
    •         server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      37 :
  • Số thời gian sau đó Nginx đóng 1 kết nối không hoạt động. 1 kết nối trở thành không hoạt động khi client ngừng truyền dữ liệu.

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số giây mà máy chủ sẽ chờ trước khi đóng 1 kết nối keep-alive.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      81
    • Giá trị mặc định: 60
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    82 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nó là kích thước tối đa của dữ liệu yêu cầu từ client. Nếu kích thước này bị vượt qua, Nginx trả về 1 lỗi HTTP 413 Request entity too large. Thiết lập này đặc biệt quan trọng nếu chúng ta cho phép người dùng tải các tập tin lên máy chủ qua HTTP.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      86
    • Giá trị mặc định: 1m (MB)
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    87 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nó là kích thước tối đa của dữ liệu yêu cầu từ client. Nếu kích thước này bị vượt qua, Nginx trả về 1 lỗi HTTP 413 Request entity too large. Thiết lập này đặc biệt quan trọng nếu chúng ta cho phép người dùng tải các tập tin lên máy chủ qua HTTP.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      86
    • Giá trị mặc định: 1m (MB)
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    87 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nó là kích thước tối đa của dữ liệu yêu cầu từ client. Nếu kích thước này bị vượt qua, Nginx trả về 1 lỗi HTTP 413 Request entity too large. Thiết lập này đặc biệt quan trọng nếu chúng ta cho phép người dùng tải các tập tin lên máy chủ qua HTTP.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      86
    • Giá trị mặc định: 1m (MB)
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    87 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nó là kích thước tối đa của dữ liệu yêu cầu từ client. Nếu kích thước này bị vượt qua, Nginx trả về 1 lỗi HTTP 413 Request entity too large. Thiết lập này đặc biệt quan trọng nếu chúng ta cho phép người dùng tải các tập tin lên máy chủ qua HTTP.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      86
    • Giá trị mặc định: 1m (MB)
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    87 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nó là kích thước tối đa của dữ liệu yêu cầu từ client. Nếu kích thước này bị vượt qua, Nginx trả về 1 lỗi HTTP 413 Request entity too large. Thiết lập này đặc biệt quan trọng nếu chúng ta cho phép người dùng tải các tập tin lên máy chủ qua HTTP.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      86
    • Giá trị mặc định: 1m (MB)
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    87 :

    • Định nghĩa số lượng và kích thước của các vùng đệm lớn hơn được dùng cho việc lưu trữ các yêu cầu từ client, trong trường hợp vùng đệm mặc định (client_header_buffer_size) không hiệu quả. Mỗi dòng của tiêu đề phải phù hợp với kích thước của 1 vùng đệm. Nếu dòng URI lớn hơn kích thước của 1 vòng đệm, Nginx trả về 1 lỗi 414 Request URI too large. Nếu 1 dòng tiêu đề khác vượt qua kích thước của 1 vùng đệm, Nginx trả về lỗi 400 Bad request.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      91
    • Giá trị mặc định: 32 KB
    • Giá trị mặc định: 1m (MB)
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    87 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số lượng và kích thước của các vùng đệm lớn hơn được dùng cho việc lưu trữ các yêu cầu từ client, trong trường hợp vùng đệm mặc định (client_header_buffer_size) không hiệu quả. Mỗi dòng của tiêu đề phải phù hợp với kích thước của 1 vùng đệm. Nếu dòng URI lớn hơn kích thước của 1 vòng đệm, Nginx trả về 1 lỗi 414 Request URI too large. Nếu 1 dòng tiêu đề khác vượt qua kích thước của 1 vùng đệm, Nginx trả về lỗi 400 Bad request.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      91
    • Giá trị mặc định: 1m (MB)
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    87 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa số lượng và kích thước của các vùng đệm lớn hơn được dùng cho việc lưu trữ các yêu cầu từ client, trong trường hợp vùng đệm mặc định (client_header_buffer_size) không hiệu quả. Mỗi dòng của tiêu đề phải phù hợp với kích thước của 1 vùng đệm. Nếu dòng URI lớn hơn kích thước của 1 vòng đệm, Nginx trả về 1 lỗi 414 Request URI too large. Nếu 1 dòng tiêu đề khác vượt qua kích thước của 1 vùng đệm, Nginx trả về lỗi 400 Bad request.
    • Cú pháp:
              server_name www.acb.com;
              server_name www.abc.com abc.com;
              server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
              server_name .website.com; # Kết hợp cả *.website.com và website.com
              server_name *.website.*;
              server_name ~^\.example\.com$;
      
      91

Giá trị mặc định: 32 KB

        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
92 :

  • Chỉ thị này áp dụng cho các yêu cầu từ client với dữ liệu của yêu cầu đó. Ngay khi lượng dữ liệu được tải lên vượt quá giá trị max_client_body_size, Nginx sẽ ngay lập tức gửi 1 phản hồi lỗi HTTP 413 Request entity too large. Tuy nhiên, phần lớn các trình duyệt tiếp tục tải dữ liệu lên bỏ qua thông báo này. Chỉ thị này định nghĩa lượng thời gian Nginx sẽ đợi sau khi gửi phản hồi lỗi trên trước khi đóng kết nối.
  • Cú pháp:
            server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    96
  • Giá trị mặc định: 30
  •         server_name www.acb.com;
            server_name www.abc.com abc.com;
            server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
            server_name .website.com; # Kết hợp cả *.website.com và website.com
            server_name *.website.*;
            server_name ~^\.example\.com$;
    
    97 :

Chỉ thị này định nghĩa lượng thời gian Nginx sẽ đợi giữa 2 tiến trình đọc trước khi đóng kết nối từ client.

Cú pháp:

                server_name abc.com “”;
                server_name _ “”;
01

Giá trị mặc định: 5

  •                 server_name abc.com “”;
                    server_name _ “”;
    
    02 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Điều khiển cách Nginx đóng các kết nối từ client. Giá trị off sẽ ngay tức khắc đóng các kết nối sau khi tất cả dữ liệu từ các yêu cầu được nhận. Giá trị mặc định (on) cho phép đợi và xử lý dữ liệu bổ sung nếu cần thiết. Nếu thiết lập là always, Nginx sẽ luôn luôn đợi để đóng kết nối. Lượng thời gian đợi được định nghĩa bởi chỉ thị lingering_timeout.
    types {
      mimetype1 extension1;
      mimetype2 extension2 [extension3…];
      […]
    }

Cú pháp:

                server_name abc.com “”;
                server_name _ “”;
06

Giá trị mặc định: on

                server_name abc.com “”;
                server_name _ “”;
07 :

Nginx bao gồm 1 tập cơ bản các loại MIME trong 1 tập tin riêng biệt (mime.types), chúng ta có thể bao hàm nội dung của tập tin này vào cấu hình của Nginx bằng việc sử dụng chỉ thị include.

   include mime.types;

Tập tin này đã bao gồm các phần mở rộng tập tin quan trong nhất, vì vậy chúng ta có lẽ không cần phải điều chỉnh nó. Nếu phần mở rộng của tập tin được phục vụ không được tìm thấy trong các loại đã được liệt kê, loại mặc định được sử dụng, định nghĩa trong chỉ thỉ default_type.

Giá trị mặc định, nếu tập tin mime.types không được đính kèm, là:

        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
0
  •                 server_name abc.com “”;
                    server_name _ “”;
    
    25 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa loại MIME mặc định. Khi Nginx phục vụ 1 tập tin, phần mở rộng của tập tin này được đối chiếu với các loại đã biết được khai báo bên trong các khối types để trả về loại MIME chính xác như giá trị của trường Content-Type trong tiêu đề HTTP. Nếu phần mở rộng không khớp với bất kỳ loại nào, giá trị của chỉ thị default_type được dùng.
    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      29
    • Giá trị mặc định: text/plain
  •                 server_name abc.com “”;
                    server_name _ “”;
    
    30 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Định nghĩa loại MIME mặc định. Khi Nginx phục vụ 1 tập tin, phần mở rộng của tập tin này được đối chiếu với các loại đã biết được khai báo bên trong các khối types để trả về loại MIME chính xác như giá trị của trường Content-Type trong tiêu đề HTTP. Nếu phần mở rộng không khớp với bất kỳ loại nào, giá trị của chỉ thị default_type được dùng.
    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      29
    • Giá trị mặc định: text/plain

server_name abc.com “”; server_name _ “”; 30 :

  • Định nghĩa kích thước tối đa của 1 entry trong bảng băm các loại MIME.
    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      34
    • Giá trị mặc định: 4k hoặc 8k (1 dòng của CPU cache)
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
1
  • 2.5 : Các chỉ thị về giới hạn
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
2
  •                 server_name abc.com “”;
                    server_name _ “”;
    
    35 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Chỉ thị này cho phép chúng ta ngăn chặn việc sử dụng của tất cả các phương thức HTTP, ngoại trừ những phương thức mà chúng ta cho phép 1 cách tường minh. Bên trong 1 khối location, chúng ta có thể giới hạn việc sử dụng 1 vài phương thức HTTP, như cấm client gửi các yêu cầu POST. Chúng ta cần định nghĩa 2 thành phần – đầu tiên, những phương thức không bị cấm, và thứ 2, những client được ảnh hưởng bởi việc giới hạn này:
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
3
  • Cú pháp:

  •                 server_name abc.com “”;
                    server_name _ “”;
    
    37 :

  • Sử dụng trong khối :

                    server_name abc.com “”;
                    server_name _ “”;
    
    8,
                    server_name abc.com “”;
                    server_name _ “”;
    
    7,
                    server_name abc.com “”;
                    server_name _ “”;
    
    9,
       include mime.types;
    
    1

  • Cho phép chúng ta giới hạn tỉ lệ truyền của các kết nối khách hàng cá nhân. Tỉ lệ này được thể hiện ở dạng số byte trên mỗi giây (bytes per second):

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Chỉ thị này cho phép chúng ta ngăn chặn việc sử dụng của tất cả các phương thức HTTP, ngoại trừ những phương thức mà chúng ta cho phép 1 cách tường minh. Bên trong 1 khối location, chúng ta có thể giới hạn việc sử dụng 1 vài phương thức HTTP, như cấm client gửi các yêu cầu POST. Chúng ta cần định nghĩa 2 thành phần – đầu tiên, những phương thức không bị cấm, và thứ 2, những client được ảnh hưởng bởi việc giới hạn này:
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
4
  • Cú pháp:

  •                 server_name abc.com “”;
                    server_name _ “”;
    
    37 :

  • Sử dụng trong khối :

                    server_name abc.com “”;
                    server_name _ “”;
    
    8,
                    server_name abc.com “”;
                    server_name _ “”;
    
    7,
                    server_name abc.com “”;
                    server_name _ “”;
    
    9,
       include mime.types;
    
    1

  • Cho phép chúng ta giới hạn tỉ lệ truyền của các kết nối khách hàng cá nhân. Tỉ lệ này được thể hiện ở dạng số byte trên mỗi giây (bytes per second):

    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      34
    • Giá trị mặc định: 4k hoặc 8k (1 dòng của CPU cache)
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
5
  • 2.5 : Các chỉ thị về giới hạn

    •                 server_name abc.com “”;
                      server_name _ “”;
      
      35 :
    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
  • Chỉ thị này cho phép chúng ta ngăn chặn việc sử dụng của tất cả các phương thức HTTP, ngoại trừ những phương thức mà chúng ta cho phép 1 cách tường minh. Bên trong 1 khối location, chúng ta có thể giới hạn việc sử dụng 1 vài phương thức HTTP, như cấm client gửi các yêu cầu POST. Chúng ta cần định nghĩa 2 thành phần – đầu tiên, những phương thức không bị cấm, và thứ 2, những client được ảnh hưởng bởi việc giới hạn này:

  • Cú pháp:

  •                 server_name abc.com “”;
                    server_name _ “”;
    
    37 :

  • Sử dụng trong khối :

                    server_name abc.com “”;
                    server_name _ “”;
    
    8,
                    server_name abc.com “”;
                    server_name _ “”;
    
    7,
                    server_name abc.com “”;
                    server_name _ “”;
    
    9,
       include mime.types;
    
    1

  • Cho phép chúng ta giới hạn tỉ lệ truyền của các kết nối khách hàng cá nhân. Tỉ lệ này được thể hiện ở dạng số byte trên mỗi giây (bytes per second):

    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      34
    • Giá trị mặc định: 4k hoặc 8k (1 dòng của CPU cache)
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
6
  • 2.5 : Các chỉ thị về giới hạn

server_name abc.com “”; server_name _ “”; 35 :

  • Sử dụng trong khối :

                    server_name abc.com “”;
                    server_name _ “”;
    
    9

    • Chỉ thị này cho phép chúng ta ngăn chặn việc sử dụng của tất cả các phương thức HTTP, ngoại trừ những phương thức mà chúng ta cho phép 1 cách tường minh. Bên trong 1 khối location, chúng ta có thể giới hạn việc sử dụng 1 vài phương thức HTTP, như cấm client gửi các yêu cầu POST. Chúng ta cần định nghĩa 2 thành phần – đầu tiên, những phương thức không bị cấm, và thứ 2, những client được ảnh hưởng bởi việc giới hạn này:
      • Cú pháp:
      •                 server_name abc.com “”;
                        server_name _ “”;
        
        37 :
      • Sử dụng trong khối :
                        server_name abc.com “”;
                        server_name _ “”;
        
        8,
                        server_name abc.com “”;
                        server_name _ “”;
        
        7,
                        server_name abc.com “”;
                        server_name _ “”;
        
        9,
           include mime.types;
        
        1
    • Note :
                      server_name abc.com “”;
                      server_name _ “”;
      
      59 – liên kết tượng trưng (hoặc
                      server_name abc.com “”;
                      server_name _ “”;
      
      60 hay
                      server_name abc.com “”;
                      server_name _ “”;
      
      61) là 1 loại tập tin đặc biệt chứa thông tin tham chiếu đến 1 tập tin hoặc thư mục khác (targer) trong hệ thống dưới dạng 1 đường dẫn tuyệt đối hoặc tương đối.
  •                 server_name abc.com “”;
                    server_name _ “”;
    
    62 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nếu chỉ thị này được cho phép, các tập tin với kích thước lớn hơn giá trị được chỉ rõ sẽ được đọc với cơ chế hệ thống Direct I/O. Điều này cho phép Nginx đọc dữ liệu từ các thiết bị lưu trữ và đặt chúng trực tiếp trong bộ nhớ mà không cần tiến trình đưa vào bộ nhớ đệm trung gian.
    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      66
    • Giá trị mặc định: off
  •                 server_name abc.com “”;
                    server_name _ “”;
    
    67 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nếu chỉ thị này được cho phép, các tập tin với kích thước lớn hơn giá trị được chỉ rõ sẽ được đọc với cơ chế hệ thống Direct I/O. Điều này cho phép Nginx đọc dữ liệu từ các thiết bị lưu trữ và đặt chúng trực tiếp trong bộ nhớ mà không cần tiến trình đưa vào bộ nhớ đệm trung gian.
    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      66
    • Giá trị mặc định: off
  •                 server_name abc.com “”;
                    server_name _ “”;
    
    67 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nếu chỉ thị này được cho phép, các tập tin với kích thước lớn hơn giá trị được chỉ rõ sẽ được đọc với cơ chế hệ thống Direct I/O. Điều này cho phép Nginx đọc dữ liệu từ các thiết bị lưu trữ và đặt chúng trực tiếp trong bộ nhớ mà không cần tiến trình đưa vào bộ nhớ đệm trung gian.
      • Cú pháp:
                        server_name abc.com “”;
                        server_name _ “”;
        
        66
      • Giá trị mặc định: off
      •                 server_name abc.com “”;
                        server_name _ “”;
        
        67 :
    • Thiết lập liên kết byte khi sử dụng directio. Thiết lập giá trị này là 4k nếu sử dụng XFS trên Linux.
      • Cú pháp:
                        server_name abc.com “”;
                        server_name _ “”;
        
        71
      • Giá trị mặc định: 512
    •                 server_name abc.com “”;
                      server_name _ “”;
      
      72 :
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
7
  • Giá trị mặc định: off

  •                 server_name abc.com “”;
                    server_name _ “”;
    
    67 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Thiết lập liên kết byte khi sử dụng directio. Thiết lập giá trị này là 4k nếu sử dụng XFS trên Linux.
        server_name www.acb.com;
        server_name www.abc.com abc.com;
        server_name *.website.com; # nhận tất cả các domain có đuôi là .website.com
        server_name .website.com; # Kết hợp cả *.website.com và website.com
        server_name *.website.*;
        server_name ~^\.example\.com$;
8

Cú pháp:

                server_name abc.com “”;
                server_name _ “”;
71

Giá trị mặc định: 512

                server_name abc.com “”;
                server_name _ “”;
72 :

  • Chỉ thị này cho phép chúng ta cho phép chúng ta sử dụng bộ nhớ cache lưu trữ thông tin về các tập tin được mở. Nó thực sự không lưu trữ nội dung của chính tập tin đó mà chỉ lưu trữ thông tin như:

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Mô tả tập tin (kích thước, thời gian điều chỉnh, …).
    • Sự tồn tại của tập tin và thư mục.
    • Các lỗi của tập tin, như là
                      server_name abc.com “”;
                      server_name _ “”;
      
      76,
                      server_name abc.com “”;
                      server_name _ “”;
      
      77, … Lưu ý rằng chỉ thị này có thể bị vô hiệu hóa với chỉ thị
                      server_name abc.com “”;
                      server_name _ “”;
      
      78.
  • Chỉ thị này chấp nhận 2 tham số:

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    •                 server_name abc.com “”;
                      server_name _ “”;
      
      79, với X là số mục mà bộ nhớ cache có thể lưu trữ. Nếu số lượng này bị vượt qua, các mục cũ hơn sẽ được xóa để lấy không gian cho các mục mới hơn.
    •                 server_name abc.com “”;
                      server_name _ “”;
      
      80 (tùy chọn, không bắt buộc) với Y là số giây mà 1 mục trong bộ nhớ cache sẽ được lưu trữ. Mặc định, Nginx sẽ đợi 60 giây trước khi xóa 1 mục trong bộ nhớ cache. Nếu mục trong bộ nhớ cache được truy cập, bộ đếm thời gian được khởi động lại. Nếu mục trong bộ nhớ cache được truy cập nhiều hơn giá trị định nghĩa bởi chỉ thị open_file_cache_min_users, mục đó sẽ không bị xóa (đến khi Nginx hết bộ nhớ và quyết định xóa các mục cũ hơn).
    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      81

server_name abc.com “”; server_name _ “”; 82 :

  • Mặc định: các mục trong chỉ thị

                    server_name abc.com “”;
                    server_name _ “”;
    
    72 được xóa sau 1 khoảng thời gian không được sử dụng (mặc định là 60 giây). Chúng ta có thể ngăn Nginx xóa các mục này. Chỉ thị này định nghĩa số lần 1 mục trong bộ nhớ cache phải được truy cập để có đủ điều để bảo vệ.

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Nếu 1 mục trong bộ nhớ cache được truy cập nhiều hơn 3 lần, nó chuyển trạng thái thành hoạt động vĩnh viễn và sẽ không bị xóa đến khi Nginx quyết định xóa các mục cũ hơn để giải phóng vùng nhớ.
    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      87
    • Giá trị mặc định: 1
  •                 server_name abc.com “”;
                    server_name _ “”;
    
    88 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Cơ chế lưu trong bộ nhớ cache các tập tin mở là quan trọng, nhưng thông tin được lưu trong bộ nhớ cache nhanh chóng trở thành lỗi thời. Về phương diện này, thông tin cần được tái kiểm tra sau 1 khoảng thời gian ngắn. Chỉ thị này chỉ rõ số giây mà Nginx sẽ đợi trước khi tái xác nhận 1 mục trong bộ nhớ cache.
    • Cú pháp:
                      server_name abc.com “”;
                      server_name _ “”;
      
      92
    • Giá trị mặc định: 1
  •         http {
            server {
                server_name abc.com;
                root /var/www/abc.com/;
                location /admin/ {
                    alias /var/www/abc.net/;
                }
            }
    
    08

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    •                 server_name abc.com “”;
                      server_name _ “”;
      
      88 :
Cơ chế lưu trong bộ nhớ cache các tập tin mở là quan trọng, nhưng thông tin được lưu trong bộ nhớ cache nhanh chóng trở thành lỗi thời. Về phương diện này, thông tin cần được tái kiểm tra sau 1 khoảng thời gian ngắn. Chỉ thị này chỉ rõ số giây mà Nginx sẽ đợi trước khi tái xác nhận 1 mục trong bộ nhớ cache.
  • Cú pháp:

                    server_name abc.com “”;
                    server_name _ “”;
    
    92

  • Giá trị mặc định: 60s

  • Giá trị mặc định: 1

  •                 server_name abc.com “”;
                    server_name _ “”;
    
    88 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Cơ chế lưu trong bộ nhớ cache các tập tin mở là quan trọng, nhưng thông tin được lưu trong bộ nhớ cache nhanh chóng trở thành lỗi thời. Về phương diện này, thông tin cần được tái kiểm tra sau 1 khoảng thời gian ngắn. Chỉ thị này chỉ rõ số giây mà Nginx sẽ đợi trước khi tái xác nhận 1 mục trong bộ nhớ cache.
    • Cú pháp:
              http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      17
    • Giá trị mặc định: off
  •         http {
            server {
                server_name abc.com;
                root /var/www/abc.com/;
                location /admin/ {
                    alias /var/www/abc.net/;
                }
            }
    
    18 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Chỉ rõ các máy chủ phân giải tên miền (DNS) được sử dụng bởi Nginx để phân giải hostname của các địa chỉ IP và ngược lại. Các kết quả truy vấn DNS được lưu trong bộ nhớ cache trong 1 thời gian, hoặc được chỉ rõ bởi giá trị TTL (Time-to-live) của máy chủ DNS, hoặc được chỉ rõ bởi giá trị thời gian cho đối số hợp lệ.
    • Cú pháp:
              http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      22
    • Ví dụ :
                server_name abc.com “”;
                server_name _ “”;
0
  •         http {
            server {
                server_name abc.com;
                root /var/www/abc.com/;
                location /admin/ {
                    alias /var/www/abc.net/;
                }
            }
    
    23 :

    • Sử dụng trong khối :
                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9
    • Giới hạn thời gian cho 1 truy vấn phân giải hostname.
    • Cú pháp:
              http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      27
    • Giá trị mặc định: 30s
  •         http {
            server {
                server_name abc.com;
                root /var/www/abc.com/;
                location /admin/ {
                    alias /var/www/abc.net/;
                }
            }
    
    28 :

    • Sử dụng trong khối :

                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9

    • Chỉ rõ các máy chủ phân giải tên miền (DNS) được sử dụng bởi Nginx để phân giải hostname của các địa chỉ IP và ngược lại. Các kết quả truy vấn DNS được lưu trong bộ nhớ cache trong 1 thời gian, hoặc được chỉ rõ bởi giá trị TTL (Time-to-live) của máy chủ DNS, hoặc được chỉ rõ bởi giá trị thời gian cho đối số hợp lệ.

      • Cú pháp:
                http {
                server {
                    server_name abc.com;
                    root /var/www/abc.com/;
                    location /admin/ {
                        alias /var/www/abc.net/;
                    }
                }
        
        22
      • Ví dụ :
    •         http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      23 :

    • Sử dụng trong khối :

                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9

  • Giới hạn thời gian cho 1 truy vấn phân giải hostname.

    • Sử dụng trong khối :

                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9

    • Chỉ rõ các máy chủ phân giải tên miền (DNS) được sử dụng bởi Nginx để phân giải hostname của các địa chỉ IP và ngược lại. Các kết quả truy vấn DNS được lưu trong bộ nhớ cache trong 1 thời gian, hoặc được chỉ rõ bởi giá trị TTL (Time-to-live) của máy chủ DNS, hoặc được chỉ rõ bởi giá trị thời gian cho đối số hợp lệ.

    • Cú pháp:

              http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      22

    • Giá trị mặc định: off

  • Ví dụ :

    •         http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      23 :

    • Chỉ rõ các máy chủ phân giải tên miền (DNS) được sử dụng bởi Nginx để phân giải hostname của các địa chỉ IP và ngược lại. Các kết quả truy vấn DNS được lưu trong bộ nhớ cache trong 1 thời gian, hoặc được chỉ rõ bởi giá trị TTL (Time-to-live) của máy chủ DNS, hoặc được chỉ rõ bởi giá trị thời gian cho đối số hợp lệ.

    • Cú pháp:

              http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      22

    • Ví dụ :

  •         http {
            server {
                server_name abc.com;
                root /var/www/abc.com/;
                location /admin/ {
                    alias /var/www/abc.net/;
                }
            }
    
    23 :

    •         http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      23 :

    • Sử dụng trong khối :

                      server_name abc.com “”;
                      server_name _ “”;
      
      8,
                      server_name abc.com “”;
                      server_name _ “”;
      
      7,
                      server_name abc.com “”;
                      server_name _ “”;
      
      9

    • Giới hạn thời gian cho 1 truy vấn phân giải hostname.

    • Cú pháp:

              http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      27

  • Giá trị mặc định: 30s

    •         http {
              server {
                  server_name abc.com;
                  root /var/www/abc.com/;
                  location /admin/ {
                      alias /var/www/abc.net/;
                  }
              }
      
      28 :

    • Chỉ thị này cho phép chúng ta định nghĩa việc cho phép/không cho phép Nginx thông báo cho khách hàng biết về phiên bản Nginx đang chạy tại máy chủ. Có 2 tình huống Nginx chỉ số phiên bản của nó là:

    • Trong phần server header của những phản hồi HTTP ( như là nginx/1.2.9). Nếu chúng ta thiết lập server_tokens là off, phần server header sẽ chỉ có giá trị là Nginx.

                server_name abc.com “”;
                server_name _ “”;
1

Trên các trang lỗi, Nginx chỉ số phiên bản trong phần footer. Nếu chúng ta thiết lập server_tokens là off, phần footer của trang lỗi sẽ chỉ là Nginx.

https://viblo.asia/hoang.thi.tuan.dung/posts/ZabG912QGzY6

https://en.wikipedia.org/wiki/Nginx

https://www.nginx.com/resources/wiki/start/topics/examples/full/#

https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/

http://www.justpassion.net/

http://hocvps.com/nginx/