NGINX là gì? Giới thiệu tổng quan về Máy Chủ Web NGINX

Lượt xem
Home

NGINX – Phần mềm mã nguồn mở đa năng dành cho web server, reverse proxy, caching, load balancing và media streaming. Với hiệu suất và ổn định cao, NGINX là công cụ quan trọng trong ngành công nghệ thông tin. Cùng Vietnix khám phá NGINX là gì và mọi thông tin hữu ích về NGINX ngay trong bài viết sau.

NGINX là gì? 

NGINX – Web server mạnh mẽ mã nguồn mở, với kiến trúc đơn luồng và hướng sự kiện, vượt trội so với Apache server về hiệu suất. Ngoài việc làm web server nhanh nhất, NGINX còn cung cấp các chức năng quan trọng như load balancing, HTTP caching và reverse proxy. Đây là kiến thức không thể thiếu đối với web developer, system administrator và devops. Với sự xuất sắc và ưu việt trong đo lường hiệu suất, NGINX là lựa chọn hàng đầu cho các dự án web, mang lại sự tăng cường và đáng tin cậy cho hệ thống.

Nginx là gì?
Nginx là gì?

Kể từ khi phát hành ban đầu NGINX, các trang web đã mở rộng từ các trang HTML đơn giản sang nội dung động, nhiều mặt. NGINX đã phát triển cùng với nó và hiện hỗ trợ tất cả các thành phần của Web hiện đại, bao gồm WebSocket, HTTP / 2 và phát trực tuyến nhiều định dạng video (HDS, HLS, RTMP và các định dạng khác).

Lịch sử hình thành

Ban đầu, Igor Sysoev đã viết NGINX để giải quyết vấn đề C10K. Một thuật ngữ được đặt ra vào năm 1999. Để mô tả những khó khăn mà các máy chủ web hiện tại gặp phải khi xử lý số lượng lớn (10K) kết nối đồng thời (C). Với kiến ​​trúc event-driven, asynchronous, NGINX đã cách mạng hóa cách các máy chủ hoạt động trong bối cảnh hiệu suất cao. Và trở thành máy chủ web nhanh nhất hiện có.

nginx la gi 01

Sau khi mở nguồn cung ứng  dự án vào năm 2004. Và nhận thấy ​​việc sử dụng nó tăng theo cấp số nhân. Sysoev đồng sáng lập NGINX, Inc. để hỗ trợ tiếp tục phát triển NGINX. Và tiếp thị NGINX Plus như một sản phẩm thương mại với các tính năng bổ sung được thiết kế cho khách hàng doanh nghiệp. Ngày nay, NGINX và NGINX Plus có thể xử lý hàng trăm ngàn kết nối đồng thời. Vào tháng 7 năm 2011, công ty Nginx Inc ra đời tại San Francisco, California, Hoa Kỳ. Đây là bước quan trọng trong việc phát triển và quảng bá sự phổ biến của NGINX trên toàn cầu.

Cách thức hoạt động của NGINX

NGINX hoạt động theo kiến trúc bất đồng bộ và hướng sự kiện, khác biệt với các web server truyền thống. Thay vì tạo thread cho mỗi yêu cầu, NGINX quản lý worker connections trong một tiến trình gọi là worker process. 

NGINX hoạt động như thế nào?
NGINX hoạt động như thế nào?

Nhờ cách tiếp cận này, NGINX có thể xử lý hàng ngàn yêu cầu đồng thời mà không gặp vấn đề. Điều này làm cho NGINX trở nên hiệu quả đặc biệt trong lĩnh vực thương mại điện tử, công cụ tìm kiếm và lưu trữ đám mây. Sự mạnh mẽ và hiệu quả này đã khẳng định vị thế của NGINX trong ngành công nghệ thông tin.

Nginx có tính năng gì?

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

  • Khả năng xử lý lớn với hơn 10.000 kết nối cùng một thời điểm với bộ nhớ thấp.
  • Phục vụ cho các tập tin tĩnh (static files) và thực hiện lập chỉ mục tập tin.
  • Gia tăng tốc độ reverse proxy thông qua bộ nhớ đệm (cache).
  • Cân bằng quá trình tải đơn giản cùng khả năng chịu lỗi.
  • Giúp nâng cao tốc độ cùng bộ nhớ đệm của FastCGI, uwsgi, SCGI, và loạt máy chủ memcached.
  • Hỗ trợ Kiến trúc modular, nâng cao tốc độ nạp trang thông qua nén gzip tự động.
  • Giúp mã hoá SSL cùng TLS.
  • Cấu hình rất linh hoạt; sao lưu nhật ký truy vấn.
  • NGINX có tính năng chuyển hướng lỗi 3XX-5XX
  • Rewrite URL (URL rewriting) sử dụng regular expressions.
  • Làm giảm tỷ lệ đáp ứng truy vấn.
  • Kiểm soát các kết nối cùng một thời điểm và những truy vấn cùng 1 địa chỉ.
  • Có khả năng nhúng mã PERL.
  • Được hỗ trợ và tương thích trên IPv6.
  • Được hỗ trợ ở WebSockets.
  • Khả năng truyền tải file FLV và MP4.

Những tính năng tiêu biểu của máy chủ mail proxy của Nginx

Gồm các phương pháp xác thực như sau:

  • POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
  • IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
  • SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
  • Hỗ trợ SSL, STARTTLS cùng STLS.

Ưu nhược điểm của Nginx

Ưu điểm

Nginx trở nên phổ biến và được áp dụng rộng rãi ngày càng nhiều, nhờ vào những ưu điểm sau đây:

  • Cung cấp hiệu suất ứng dụng cao bằng cách sử dụng cơ chế bộ nhớ đệm mạnh mẽ, giúp tăng cường hiệu suất khi người dùng truy cập cùng một địa chỉ trong khoảng thời gian ngắn.
  • Là web server nhẹ và có khả năng chuyển tiếp hiệu quả các yêu cầu người dùng đến máy chủ ứng dụng.
  • Quy tắc ghi lại linh hoạt của Nginx cung cấp sự linh hoạt khi cấu hình chuyển hướng vĩnh viễn hoặc tạm thời cho một số URL.
  • Nginx dễ dàng tuỳ chỉnh và triển khai qua giao thức HTTPS.
Ưu điểm của Nginx
Ưu điểm của Nginx

Nhược điểm

Bên cạnh những ưu điểm đáng chú ý đã nêu trên, Nginx cũng mang theo một số nhược điểm như sau:

  • Cân bằng tải có giới hạn hơn so với một số máy chủ khác.
  • Cơ chế lưu trữ cần được cải thiện thông qua việc cung cấp các lệnh mạnh mẽ hơn.
  • Việc điều hướng giữa trang chủ của Nginx và bộ phận hỗ trợ khách hàng đôi khi gặp khó khăn.

So sánh sự khác biệt giữa Server với NGINX

Phương thức kết nối được xử lý giữa NGINX server và Apache server chính là sự khác biệt cơ bản nhất của chúng. 

  • Hệ điều hành hỗ trợ: Tương thích là một yếu tố quan trọng khi lựa chọn phần mềm. Cả NGINX và Apache đều có khả năng chạy trên nhiều hệ điều hành Unix khác nhau. Tuy nhiên, đáng tiếc là hiệu suất của NGINX trên Windows không đạt được sự hiệu quả như trên các nền tảng khác.
  • Hỗ trợ người dùng: Cả người mới và chuyên gia đều cần một cộng đồng đáng tin cậy để giải quyết vấn đề. NGINX và Apache cung cấp hỗ trợ qua hệ thống mailing và diễn đàn Stack Overflow. Tuy nhiên, Apache thiếu sự hỗ trợ chính thức từ Apache Foundation, tổ chức điều hành nó, điều này có thể tạo ra sự khác biệt quan trọng trong việc đảm bảo một cộng đồng sẵn lòng hỗ trợ người dùng.
  • Hiệu năng: NGINX vượt trội với khả năng xử lý đồng thời 1000 kết nối tới nội dung tĩnh nhanh hơn gấp đôi so với Apache, đồng thời tiêu thụ ít bộ nhớ hơn. Trên nội dung động, cả hai nền tảng có tốc độ tương đương. Tuy nhiên, với những trang web tĩnh phong phú, NGINX là sự lựa chọn tuyệt vời hơn.
So sánh NGINX và Apache
So sánh NGINX và Apache

Apache và Nginx có cơ chế xử lý kết nối khác nhau. Apache sử dụng phân luồng hoặc keep-alive, trong khi Nginx sử dụng vòng lặp sự kiện không bị ngăn chặn và tiến trình công việc. Điều này giúp Nginx tránh sự cố về CPURAM khi có nhiều truy cập cùng lúc. Ngoài ra, NGINX còn có tốc độ xử lý nhanh hơn, hiệu suất sử dụng bộ nhớ tốt hơn và tiêu thụ ít tài nguyên RAM và CPU. Điều này làm cho NGINX trở thành lựa chọn hàng đầu cho việc xử lý lượng truy cập lớn và đáng tin cậy.

Hướng dẫn cài đặt NGINX

Để cài đặt NGINX, bạn có thể sử dụng 2 cách như sau:

  • Dùng gói (package) dựng sẵn.
  • Cài đặt từ source.

Cách đầu tiên được nhận xét là đơn giản và nhanh chóng hơn, nhưng cài đặt từ source sẽ mang đến khả năng cài đặt thêm các module khác làm cho NGINX trở nên vượt trội hơn. Người dùng được phép tùy chỉnh sao cho phù hợp với nhu cầu của ứng dụng.

Thao tác duy nhất bạn cần thực hiện để cài đặt một gói Debian dựng sẵn là:

sudo apt-get update
sudo apt-get install nginx

Sau khi hoàn thành quá trình cài đặt, bạn có thể kiểm tra tất cả đã ổn hay chưa thông qua lệnh sau, sẽ hiển thị phiên bản NGINX vừa được cài đặt:

sudo nginx -v
nginx version: nginx/1.18.2

Web Server mới được cài đặt ở /etc/nginx/. Khi bạn truy cập vào thư mục này, sẽ có nhiều tệp tin cùng thư mục xuất hiện. Tuy nhiên, thứ bạn cần lưu ý nhất đó chính là tệp tin nginx.conf và thư mục sites-available.

Cấu hình NGINX chi tiết

Dưới đây là thiết lập cần được chú ý tại tập tin nginx.conf:

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    gzip on;
    gzip_disable "msie6";

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

Tệp tin sẽ được cấu trúc nên các ngữ cảnh. Thứ nhất là events, tiếp theo là http. Cấu trúc được nhận xét là rất có ích trong việc cấu hình, như từng ngữ cảnh sẽ được chèn trong ngữ cảnh khác. Ngoài ra, còn được thừa hưởng tất cả từ cha mẹ của chúng nhưng cũng được phép ghi đè lên chúng nếu cần thiết.

Ở tập tin này bạn có thể tùy chỉnh chúng theo nhu cầu, tuy nhin bạn cũng có thể tận dụng các thiết lập mặc định. Tập tin này có một số thành phần quan trọng như sau:

  • worker_processes: Đây là một thiết lập dùng để định nghĩa worker processes mà NGINX sẽ dùng. Do NGINX là đơn luồng (single threaded), nên nó thường bằng lượng lõi CPU.
  • worker_connection: Đây chính là lượng kết nối tối đa trong một thời điểm cho mỗi worker process và thông báo đến những worker process của chúng ta số lượng người có thể phục vụ cùng lúc bởi NGINX.
  • access_log & error_log: Đây là những tệp tin mà NGINX sẽ sử dụng để log bất kỳ lỗi và số lần truy cập. Các bản ghi này thường được sử dụng để gỡ lỗi hoặc sửa chữa.
  • gzip: Thành phần này là các thiết lập nén GZIP của các NGINX reponse. Tại đây có chứa nhiều thiết lập phụ, phần bị comment do mặc định làm cho hiệu suất gia tăng đáng kể. Tại những thiết lập phụ của GZIP, bạn cần lưu ý tới gzip_comp_level, đây chính là mức nén nằm ở khoảng từ 1 – 10. Hầu hết, giá trị này sẽ hiếm khi lớn hơn 6 — vì lợi ích sẽ không bao nhiêu nếu trên mức này, do nó cần dùng nhiều CPU hơn. gzip_types chính là một danh sách dạng response sẽ được nén.

Số lượng website được NGINX hỗ trợ có thể nhiều hơn 1, cùng những tệp tin định nghĩa các website của bạn nằm ở thư mục /etc/nginx/sites-available.

Lưu ý rằng, những tệp tin nằm ở thư mục này không “live” — bạn có thể có nhiều tệp tin định nghĩa các trang web ở đây, nhưng NGINX không tác động đến chúng cho đến khi được symlink (liên kết tượng trưng) tới thư mục /etc/nginx/sites-enabled (hoặc có thể sao chép chúng đến thư mục này, nhưng symlink chắc chắn rằng chỉ có một bản sao chép trên một tệp tin được theo dõi).

Nó mang đến cho bạn giải pháp nhanh nhất đưa các website online và offilne mà không phải tiến hành xóa bỏ tập tin nào — Đến lúc bạn hoàn tất chuẩn bị cho trang web, tạo symlink đến sites-enabled, sau đó khởi động lại NGINX.

Thư mục site-available sẽ chứa cấu hình cho các host ảo (virtual host). Tại đây, web server được phép cấu hình các website với các từng cấu hình khác nhau. Những website trong thư mục không live và và chỉ được đồng ý nếu chúng ta tạo một symlink đến thư mục sites-enabled.

Người dùng dược phép tạo một tệp tin mới hoặc tùy chỉnh một tệp tin mặc định cho ứng dụng. Dưới đây là một cấu hình thông thường:

upstream remoteApplicationServer {
    server 10.10.10.10;
}

upstream remoteAPIServer {
    server 20.20.20.20;
    server 20.20.20.21;
    server 20.20.20.22;
    server 20.20.20.23;
}


server {
    listen 80;
    server_name www.customapp.com customapp.com
    root /var/www/html;
    index index.html

        location / {
            alias /var/www/html/customapp/;
            try_files $uri $uri/ =404;
        }

        location /remoteapp {
            proxy_set_header   Host             $host:$server_port;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_pass http://remoteAPIServer/;
        }

        location /api/v1/ {
            proxy_pass https://remoteAPIServer/api/v1/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
            proxy_redirect http:// https://;
        }
}

Tương tự nginx.conf, nó cũng dùng định nghĩa các ngữ cảnh lồng nhau (đồng thời mọi thứ cũng được lồng trong ngữ cảnh HTTP CỦA nginx.conf, do đó chúng thừa hưởng tất cả từ nó).

Ngữ cảnh server định nghĩa một server ảo dùng để xử lý hết các request do client yêu cầu. Sẽ có nhiều khối server, NGINX sẽ tiến hành lựa chọn trong số đó dựa theo những chỉ thị listen và server_name.

Ở mỗi khối server, chúng ta định nghĩa lượng lớn ngữ cảnh location sẽ được áp dụng để quyết định phương thức xử lý các request cho client. Theo đó, khi nhận được request, NGINX sẽ thử khớp URI tới tới những định nghĩa location và xử lý theo cách hợp lý nhất.

Trong ngữ cảnh location sẽ có nhiều chỉ thị quan trọng được dùng tới, ví dụ như:

  • try_files sẽ phục vụ các tệp tin tĩnh được tìm thấy ở thư mục được trỏ tới do chỉ thị gốc.
  • proxy_pass thực hiện mang request đến proxy server xác định.
  • rewrite thực hiện viết lại URI đến thông qua một regular expression để đạt được một khối location có thể xử lý nó.

Ngữ cảnh upstream định nghĩa một pool của những server cái NGINX sẽ ủy quyền những request tới. Sau khi hoàn tất việc tạo khối upstream và định nghĩa một server nằm trong nó chúng có thể xác thực nó thông qua tên nằm trong các khối location. Ngoài ra, một ngữ cảnh upstream có thể sẽ chứa nhiều server được gán tại đó bởi vì NGINX sẽ làm một vài load balancing khi ủy quyền cho các request tới.

Khởi động NGINX

Sau khi hoàn tất quá trình cấu hình và đưa ứng dụng website đến thư mục tương thích. Bạn đã có thể khởi động NGINX và bắt đầu sử dụng thông qua câu lệnh:

sudo service nginx start

Trong trường hợp, nếu bạn cần thay đổi cấu hình chỉ cần thực hiện quá trình tải lại (không có thời gian downtime) thông qua lệnh như sau: 

service nginx reload 

Kết thúc bằng việc kiểm tra trạng thái của NGINX theo cách thực hiện lệnh sau: 

service nginx status

NGINX phục vụ web

Mặc dù NGINX trở nên nổi tiếng là máy chủ web nhanh nhất, kiến ​​trúc cơ bản có thể mở rộng đã chứng minh lý tưởng cho nhiều tác vụ web ngoài việc phục vụ nội dung. Do có thể xử lý khối lượng kết nối lớn, NGINX thường được sử dụng làm reverse proxy và cân bằng tải để quản lý lưu lượng đến và phân phối đến các upstream server – mọi thứ từ máy chủ cơ sở dữ liệu đến dịch microservices.

nginx la gi 04

NGINX cũng thường được đặt giữa máy khách và máy chủ web thứ hai, để phục vụ như một SSL Terminator, TLS hoặc web accelerator. Hoạt động như một trung gian, NGINX xử lý hiệu quả các tác vụ có thể làm chậm máy chủ web của bạn, chẳng hạn như SSL/TLS negotiating hoặc nén và cache nội dung để cải thiện hiệu suất. Các trang web động, được xây dựng bằng cách sử dụng mọi thứ từ Node.js đến PHP, thường triển khai NGINX làm cache nội dung và reverse proxy để giảm tải cho các máy chủ ứng dụng và sử dụng phần cứng hiệu quả nhất .

NGINX và NGINX Plus có thể làm gì cho bạn?

NGINX Plus và NGINX đang là các giải pháp application delivery và cho thuê máy chủ web tốt nhất được sử dụng bởi các trang web có lưu lượng truy cập cao như Dropbox, Netflix và Zynga. Hơn 400 triệu trang web trên toàn thế giới dựa vào NGINX Plus và NGINX để cung cấp nội dung của họ một cách nhanh chóng, đáng tin cậy và an toàn.

  • NGINX làm cho bộ cân bằng tải phần cứng trở nên lỗi thời. Là một bộ cân bằng tải nguồn mở chỉ có phần mềm. NGINX ít tốn kém hơn và có thể dễ cấu hình hơn các bộ cân bằng tải phần cứng. Và được thiết kế cho các kiến ​​trúc đám mây hiện đại. NGINX Plus hỗ trợ cấu hình lại nhanh chóng và tích hợp với các công cụ DevOps hiện đại để giám sát dễ dàng hơn.
  • NGINX là một công cụ đa chức năng. Với NGINX, bạn có thể sử dụng cùng một công cụ như bộ cân bằng tải, reverse proxy, cache nội dung và máy chủ web. Giảm thiểu số lượng công cụ và cấu hình mà tổ chức của bạn cần duy trì. NGINX cung cấp các hướng dẫn, hội thảo trên web và một loạt các tài liệu để giúp bạn vững bước. NGINX Plus bao gồm hỗ trợ khách hàng phản ứng nhanh. Do đó bạn có thể dễ dàng nhận trợ giúp chẩn đoán bất kỳ phần nào trong ngăn xếp của bạn sử dụng NGINX hoặc NGINX Plus.
NGINX Plus
NGINX Plus

Sử dụng nginx thế nào cho hiệu quả?

Bằng cách hiểu rõ khả năng mạnh mẽ của Nginx, bạn có thể tùy chỉnh nó sao cho phù hợp với dự án của mình. Hãy khám phá một số cách tuyệt vời để tận dụng tối đa sức mạnh của Nginx:

Loại bỏ các limitation ở tầng kernel

Để tận dụng tối đa Nginx, chúng ta có thể điều chỉnh một số giới hạn ở tầng kernel. Dưới đây là các thiết lập quan trọng trong tệp /etc/sysctl.conf:

  • 1. net.core.somaxconn: Tăng số kết nối tối đa mà Nginx có thể xếp hàng trước khi xử lý.
  • 2. net.ipv4.iplocalportrange: Tăng phạm vi cổng tạm thời để tránh chặn khi có nhiều yêu cầu truy cập.
  • 3. sys.fs.filemax: Tăng số file descriptor tối đa để Nginx có thể mở nhiều kết nối hơn.
  • 4. net.ipv4.tcpwmem và net.ipv4.tcprmem: Tăng kích thước đệm cho giao thức TCP/IP.

Các thiết lập này giúp tăng hiệu suất và đảm bảo hệ thống hoạt động mượt mà hơn.

Dưới đây là bộ config được recommend cho nginx server:

net.ipv4.ip_local_port_range='1024 65000'
net.ipv4.tcp_tw_reuse='1'
net.ipv4.tcp_fin_timeout='15'
net.core.netdev_max_backlog='4096'
net.core.rmem_max='16777216'
net.core.somaxconn='4096'
net.core.wmem_max='16777216'
net.ipv4.tcp_max_syn_backlog='20480'
net.ipv4.tcp_max_tw_buckets='400000'
net.ipv4.tcp_no_metrics_save='1'
net.ipv4.tcp_rmem='4096 87380 16777216'
net.ipv4.tcp_syn_retries='2'
net.ipv4.tcp_synack_retries='2'
net.ipv4.tcp_wmem='4096 65536 16777216'
vm.min_free_kbytes='65536'

Phân tích log nginx để tìm bottle neck

Phân tích access log từ nginx sẽ giúp bạn biết bottle neck ở đâu, bằng cách sử dụng tool Kataribe.

Để sử dụng tool này thì bạn cần setting nginx log format sử dụng directive:

log_format with_time '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $request_time';
access_log /var/log/nginx/access.log with_time;

Caching with nginx

Khi sử dụng Nginx để phục vụ tệp tĩnh, việc cấu hình cache và nén là rất quan trọng. Sử dụng nén gzip giúp giảm cost liên quan đến IO và băng thông. Đồng thời, thiết lập cache control giúp server không yêu cầu lại tệp tĩnh cho đến khi cache hết hạn. Dưới đây là một số thiết lập bạn có thể tham khảo

http {
gzip on;
gzip_http_version 1.0;
gzip_types text/plain
text/html
text/xml
text/css
application/xml
application/xhtml+xml
application/rss+xml
application/atom_xml
application/javascript
application/x-javascript
application/x-httpd-php;
gzip_disable "MSIE [1-6].";
gzip_disable "Mozilla/4";
gzip_comp_level 1;
gzip_proxied any;
gzip_vary on;
gzip_buffers 4 8k;
gzip_min_length 1100;
}

Hãy tận dụng sự dư thừa bộ nhớ của bạn khi sử dụng Nginx như một reverse proxy. Nếu lượng dữ liệu phản hồi không lớn, bạn có thể thiết lập Nginx để lưu trữ bộ nhớ cache thay vì lưu trữ trên đĩa. Điều này giúp tăng cường hiệu suất và tăng trải nghiệm người dùng khi truy cập vào các dữ liệu phản hồi:

proxy_cache_path /dev/shm/nginx levels=1:2 keys_zone=czone:16m max_size=32m inactive=10m;

Advance nginx

Một cài đặt quan trọng là “keepalive” trong HTTP, giúp giữ kết nối TCP sau khi phiên kết nối HTTP kết thúc. Điều này cho phép tái sử dụng kết nối cho các yêu cầu tiếp theo. Kỹ thuật này đặc biệt hữu ích khi người dùng gửi nhiều yêu cầu để tải các tài nguyên tĩnh, giảm thời gian thiết lập kết nối và tăng hiệu suất truy cập cho người dùng. Sử dụng keepalive trên nginx rất đơn giản bằng cách thêm directive keepalive vào trong upstream section:

upstream app {
server 127.0.0.1:5000;
keepalive 16;
}

Câu hỏi thường gặp

Upstream NGINX  là gì?

Trong NGINX, upstream là một nhóm các máy chủ web hoặc ứng dụng web mà NGINX có thể chuyển tiếp các yêu cầu đến. Upstream được sử dụng để cân bằng tải giữa các máy chủ web hoặc ứng dụng web, giúp cải thiện hiệu suất và khả năng mở rộng của hệ thống.

NGINX reverse proxy là gì?

NGINX reverse proxy là một tính năng của phần mềm web server NGINX, cho phép nó hoạt động như một bộ trung gian giữa người dùng và các máy chủ web thực tế. Nó nhận yêu cầu từ người dùng, xác định máy chủ web nào phù hợp để xử lý yêu cầu đó, và sau đó chuyển tiếp yêu cầu đến máy chủ đó.

Web server là gì?

Web server là một máy tính hoặc phần mềm xử lý các yêu cầu từ các trình duyệt web và trả về các trang web. Web server nhận yêu cầu từ trình duyệt web thông qua giao thức HTTP. Yêu cầu này bao gồm URL của trang web mà người dùng đang cố truy cập. Web server sau đó tìm kiếm trang web đó trên ổ đĩa của nó và trả về trang web đó cho trình duyệt web.

Lỗi NGINX là gì?

Lỗi NGINX là một lỗi xảy ra khi NGINX – một web server mã nguồn mở, không thể xử lý yêu cầu của người dùng. Lỗi này có thể do nhiều nguyên nhân, bao gồm:
– Lỗi cấu hình: Lỗi cấu hình là nguyên nhân phổ biến nhất của lỗi NGINX. Nếu cấu hình NGINX không chính xác, NGINX có thể không thể tìm thấy tài nguyên cần thiết để xử lý yêu cầu.
– Lỗi phần mềm: Lỗi phần mềm là một nguyên nhân khác của lỗi NGINX. Nếu có lỗi trong mã NGINX, NGINX có thể gặp sự cố khi xử lý yêu cầu.
– Lỗi phần cứng: Lỗi phần cứng cũng có thể gây ra lỗi NGINX. Nếu có vấn đề với phần cứng của máy chủ, NGINX có thể không thể xử lý yêu cầu.

Lời kết

Vietnix hy vọng qua bài viết trên có thể giúp bạn hiểu rõ NGINX là gì và vận dụng NGINX vào các dự án một cách tốt nhất. Chúc bạn thành công!

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (70 bình chọn)

Hưng Nguyễn

Kết nối với mình qua

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Bình luận

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Chỉ số tăng trưởng

Điểm Desktop

100 (+39)

Điểm Mobile

100 (+67)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

99 (+28)

Điểm Mobile

100 (+50)

Core Web Vitals

Passed

Lĩnh vực

SEO

Chỉ số tăng trưởng

Điểm Desktop

99 (+26)

Điểm Mobile

98 (+59)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

100 (+8)

Điểm Mobile

98 (+35)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Chỉ số tăng trưởng

Điểm Desktop

100 (+61)

Điểm Mobile

100 (+61)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Võ Thiên Tòng

25 Tháng 2 lúc 21:09

·

Mình muốn gửi lời cảm ơn chân thành đến Team Vietnix, anh Hưng Nguyễn, anh Vietnix Trung, em Quốc Huy đã hỗ trợ tối ưu Page Speed Insight (PSI) cho website vanvoiminhhoa.vn của mình.
Biết đến anh Hưng đã lâu nhưng chưa có duyên sử dụng dịch vụ bên anh. Tình cờ thấy được bài Post của anh về việc hỗ trợ tối ưu PSI miễn phí chỉ với vài Slot, thấy AE cmt khá nhiều nên cũng không nghĩ tới lượt mình. Hôm sau đánh liều inbox 1 phen xem sao thì may mắn được đưa vào danh sách. Vài ngày sau được Team Vietnix liên hệ và hỗ trợ.
Kết quả đạt được:
• Điểm xanh lè xanh lét
• Tốc độ tải trang nhanh hơn hẳn
• Các chỉ số cũng được cải thiện đáng kể
• Và mình tin rằng với việc PSI được cải thiện cũng thúc đẩy những thứ khác đi lên theo!
Mình thực sự hài lòng với dịch vụ của Vietnix và muốn giới thiệu đến tất cả mọi người:
• Dịch vụ Wordpress Hosting: Tốc độ nhanh, ổn định, bảo mật cao, hỗ trợ kỹ thuật 24/7. (https://vietnix.vn/wordpress-hosting/)
• Dịch vụ Business Hosting: Dung lượng lớn, phù hợp cho website có lượng truy cập cao, tích hợp nhiều tính năng cao cấp. (https://vietnix.vn/business-hosting/)
Đặc biệt, Vietnix đang có chương trình ưu đãi:
• Giảm giá 20% trọn đời khi nhập code THIENTONG_PAGESPEED tại trang thanh toán (Chu kỳ 12 tháng trở lên)
• Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website
Cám ơn Vietnix một lần nữa!
#Vietnix #Vanvoiminhhoa #Pagespeedinsight
Trước khi tối ưu
Sau khi tối ưu
Thiện Nguyễn - CEO SEO Dạo

5 Tháng 3 lúc 16:21

·

CORE WEB VITAL YẾU TỐ XẾP HẠNG TÌM KIẾM SEO
Core Web Vitals là một tập hợp các chỉ số đo lường hiệu suất của trang web từ góc độ người dùng, được Google sử dụng để đánh giá trải nghiệm người dùng trên các trang web. Các chỉ số chính bao gồm:
– Largest contentful paint (LCP): Tốc độ render của page. Mục tiêu là dưới 2,5 giây.
– First input delay (FID): Tốc độ phản hồi của website với tương tác của người dùng. Mục tiêu là dưới 100ms.
– Cumulative Layout Shift (CLS): Độ ổn định của bố cục trang. Mục tiêu là dưới 0.1.
Tất cả các chỉ số này đo lường các khía cạnh quan trọng của trải nghiệm người dùng trên trang web. Google đã công bố rằng từ tháng 5 năm 2021, các Core Web Vitals sẽ được sử dụng làm một trong các yếu tố đánh giá trong việc xếp hạng trang web trên kết quả tìm kiếm. Do đó, hiểu và cải thiện các Core Web Vitals là rất quan trọng đối với SEO.
Tóm lại, Core Web Vitals không chỉ giúp cải thiện hiệu suất và xếp hạng trang web trên công cụ tìm kiếm, mà còn cải thiện trải nghiệm của người dùng khi họ truy cập và tương tác với trang website.
P/s: mình đang có gói hỗ trợ đặc biệt cho anh em tối ưu tốc độ bên VIETNIX:
– Giảm 20% lifetime dịch vụ Hosting Business và Hosting Wordpress chu kỳ 12 tháng trở lên.
– Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website.
Anh em có nhu cầu đăng ký qua bạn Vietnix Trung này nhé và nhập mã SEODAO_PAGESPEED để được ưu đãi nhé.😁
Trước khi tối ưu
Sau khi tối ưu SEO Dạo
Icharm review

5 Tháng 3 lúc 15:43

·

[Mình vừa được hỗ trợ tối ưu page speed website]
Trước khi được tối ưu, web của mình điểm rất thấp, đặc biệt là mobile chỉ có 39. Cơ duyên thế nào lúc lướt face lại va phải chương trình tối ưu pagespeed bên Vietnix.
Sau khi được Trần Hoàng Phúc và team Vietnix hỗ trợ nhiệt tình, điểm web vọt lên 98 99 (như hình bên dưới). Dùng thử web thì thấy quá là mượt, 10 điểm cho team Vietnix.
Nói thật thì mình thật sự ấn tượng về sự nhiệt huyết, tận tâm và rất chuyên nghiệp bên Vietnix.
Anh em có nhu cầu về hosting hay có vấn đề về website như:
1. Web load chậm
2. Khách rời web vì đợi tải nội dung, hình ảnh lâu
3. Hay tất tần tật mọi thứ về website
THÌ LIÊN HỆ NGAY VIETNIX NHÉ!
Và đừng quên dùng pass “ICHARM_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting. Quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
Trước khi tối ưu
Sau khi tối ưu
Hoàng Nguyễn

29 Tháng 2 lúc 17:04

·

Xin chào mọi người! Vừa rồi mình có sử dụng dịch vụ tối ưu website, tăng tốc độ tải trang pagespeed của Vietnix kết quả trên cả tuyệt vời nên mình viết bài này để chia sẻ thông tin với các bạn.
Lý do mình chọn dịch vụ tối ưu tốc độ website của Vietnix:
✅ Đội ngũ chuyên gia giàu kinh nghiệm: Đã tối ưu thành công cho hàng nghìn website trong nhiều lĩnh vực khác nhau. Các bạn nhân viên rất thân thiện, nhiệt tình và chủ động trong quá trình làm việc để cập nhật tiến độ.
✅ Quy trình chuyên nghiệp:
– Kiểm tra và phân tích: Vietnix sử dụng các công cụ tiên tiến để kiểm tra và phân tích tốc độ website của bạn.
– Xác định nguyên nhân: Vietnix xác định nguyên nhân khiến website tải chậm và đưa ra giải pháp tối ưu phù hợp.
– Tối ưu hóa website: Vietnix áp dụng các kỹ thuật tối ưu tiên tiến nhất để tăng tốc độ tải trang.
– Báo cáo kết quả: Vietnix cung cấp báo cáo chi tiết về kết quả tối ưu hóa website.
Công nghệ tiên tiến: Vietnix sử dụng các công nghệ tối ưu mới nhất như LiteSpeed, LSCache, Memcached, Redis, v.v.
✅ Cam kết kết quả: Vietnix cam kết tăng tốc độ website của bạn lên tối thiểu 90%.
✅ Giá cả cạnh tranh: Vietnix cung cấp dịch vụ tối ưu tốc độ website với mức giá cạnh tranh nhất trên thị trường.
📣 Để đăng ký sử dụng dịch vụ tối ưu tốc độ website và các dịch vụ khác như hosting, vps, domain… các bạn có thể đăng ký tại https://portal.vietnix.vn/aff.php?aff=57 hoặc Inbox cho sếp Vietnix Trung nhé.
Các bạn có thể kiểm tra tốc độ trang của mình https://lasan.edu.vn hoặc một vài trang khác đã sử dụng dịch vụ của Vietnix như sau:
https://pagespeed.web.dev/…/https…/v8beqewyt2…
https://pagespeed.web.dev/…/https…/etiohjvtl4…
https://pagespeed.web.dev/…/https…/yczuqpw6d1…
https://pagespeed.web.dev/…/https…/xf9y65kuzk…
https://pagespeed.web.dev/…/https…/fdrsms15en…
https://pagespeed.web.dev/…/https…/s7p9cgzeri…
Trước khi tối ưu
Sau khi tối ưu
Dũng cá xinh

30 Tháng 1 lúc 19:09

·

[Đỉnh]
Em có dùng hosting, vps, cloud vps, cloud server, dedicated server của rất nhiều bên từ trong nước đến nước ngoài để hosting khoảng 2,000+ domain. Mỗi bên đều có ưu nhược khác nhau, nhưng có 1 số bên đặc biệt “bá đạo”, trong đó có: Vietnix!!!!

Lần đầu tiên em được cả CEO Hưng Nguyễn lẫn Master về dev Vietnix Trung của 1 đơn vị hàng đầu liên quan đến Hosting, Server support từ A – Z (từ Zalo, Tele, đến FB và cả Phone)

Em có khá nhiều web dạng Big Data (bài, ảnh, database, data) lên đến hàng trăm Gb. Càng to thì nó càng có nhiều vấn đề về phần phản hồi ban đầu (nhược điểm cố hữu của php wordpress so với nativejs, reactjs, html, headless,…), và anh em Vietnix có nhã ý hỗ trợ xử lý phần Speed Insight này.

Kết quả thực sự kinh ngạc, từ cách trao đổi đến xử lý vấn đề, cut off những cái cần cut off, xử lý rất sâu vấn đề và gợi ý rất nhiều ý tưởng optimize hệ thống!!!! Thực sự quá hài lòng về kết quả cũng như cách tương tác của các đầu tầu bên Vietnix ^^!!!

Nhân cơ duyên được kết nối với những cao thủ của Vietnix, em xin chia sẻ và lan tỏa để nhiều anh em có cơ hội được sử dụng những dịch vụ tốt nhất với giá vô cùng hợp lý!!!!

1 – Với anh em chưa có hosting, em đặc biệt recommend sử dụng hosting bên Vietnix:
– Sử dụng mã DUNGCAXINH_PAGESPEED sẽ được giảm 20% trọn đời (lifetime luôn)
– Áp dụng các gói Hosting Business, Hosting wordpress và reg 1 năm trở lên
– Anh em chưa biết cách reg thì còm men hoặc ib để em hướng dẫn hoặc nhờ các bạn bên Vietnix support từ A – Z

2 – Anh em có hosting rồi và muốn build blog hoặc web = wordpress mà chưa có giao diện thì nhân tiện em đang có tài khoản Premium bên Envato, em sẽ tặng bất kỳ giao diện nào có trên Envato Themes (Link em để dưới còm men) ạ. Cả nhà còm hoặc ib em Themes mà mọi người “chim ưng”, em sẽ cho anh em tải về, up drive và gửi ạ!!! (Chương trình này kéo dài đến ngày 29 tết âm lịch ạ)

3 – BEST NHẤT luôn!!!! Anh em nào mua hosting dùng mã DUNGCAXINH_PAGESPEED sẽ được tối ưu 100 điểm tốc độ cho 1 web (đây là ưu đãi riêng của CEO Hưng Nguyễn dành cho bạn bè của #dungcaxinh ^^) (Giá trị nhất là cái vụ số 3 này anh chị em nhé ^^), cơ hội vàng để move về đơn vị hosting uy tín là đây ^^!!!!

Một lần nữa xin chân thành cám ơn 2 đồng chí em: Hưng Nguyễn và Vietnix Trung đã giải được một bài toán khó cho các trang WP Big data mà anh loay hoay bao lâu nay chưa tìm ra đáp án!!! Chúc Vietnix ngày càng phát triển và có một năm 2024 đại đại thắng nhé ^^ !!!!!
#SEO #Vietnix #dungcaxinh

Trước khi tối ưu
Sau khi tối ưu
Hiếu AI

2 Tháng 2 lúc 21:06

·

UY TÍN – TẬN TÂM – TỐC ĐỘ

3 từ trên là vẫn chưa đủ để nói về quy trình làm việc cực chuyên nghiệp của team Vietnix.Chuyện là mình có con website chính đang có lượt truy cập organic hàng ngày cũng tương đối (hình 1)

Vấn đề là, con site này đang nằm trên hosting dùng chung nên tốc độ load chưa nhanh, tốc độ load chưa nhanh thì trải nghiệm visitor chưa tốt, trải nghiệm visitor chưa tốt thì tỷ lệ chuyển đổi ra đơn hàng kiểu gì thì kiểu cũng sẽ bị ảnh hưởng.

Biết rõ là đang mất tiền nhưng không biết xử lý như lào, nghĩ mà cay.

Đang loay hoay thì vận may nó tới, hôm qua đang lướt phở bò thấy a Nguyễn Việt Dũng đăng bài, rảnh nên thả cái comment hóng hớt, ai ngờ ngoằng phát thấy ông Dũng tạo nhóm với Vietnix Trung luôn.

Ae Vietnix thì siêu tốc độ, lập tức lấy thông tin vào việc, không hỏi han lằng nhằng, không kỳ kèo chốt đơn dù lúc đấy cũng đang đêm muộn.
Sáng hôm sau dậy vẫn còn đang lơ ngơ mở điện thoại check tin nhắn thì đã thấy ae Vietnix báo xong việc, trong khi mình vẫn chưa biết có chuyện gì xảy ra @@.

Được cái bấm thử website thì thấy load siêu nhanh, chưa tới một giây là thông tin các thứ hiện hết. Quá phê, thả con ảnh trước sau (hình 2,3) để ace tiện đối chiếu nhé. Thế này thì mình gửi gắm nốt 15 em website còn lại cho team Vietnix thôi chứ không cần nghĩ ngợi gì nữa. 10/10.

Nên là:

  1. Anh chị em muốn có một con website tốc độ load nhanh như tốc độ trở mặt của nyc – Dùng ngay dịch vụ hosting của Vietnix
  2. Anh chị em có website rồi muốn tìm bên hosting uy tín, chuyên nghiệp hỗ trợ không quản ngày đêm – Liên hệ ngay Vietnix Trung
  3. Anh chị em quan tâm đến trải nghiệm khách hàng, từ những cái nhỏ nhất như tăng tốc độ website – Better call Vietnix Trung

Và đừng quên dùng pass “HIEUAI_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting, quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
#SEO #Vietnix #hieuai

Website
Trước khi tối ưu
Sau khi tối ưu

Chỉ số tăng trưởng

Điểm Desktop

100 (+43)

Điểm Mobile

100 (+74)

Core Web Vitals

Passed

Lĩnh vực

AI