Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Hướng dẫn cài đặt Nginx trên Ubuntu 20.04

Trong bài viêt này mình sẽ hướng dẫn các bạn cách cái đặt Nginx trên Ubuntu 20.04.

Ở bài viết trước, mình đã hướng dẫn mọi người cách cài đặt và thiết lập cấu hình Web Server Apache trên Ubuntu 20.04. Vậy thì ở bài viết này mình sẽ hướng dẫn thêm một phần mềm tạo web server khác có tên là Nginx. Nhưng trước khi bắt đầu cài đặt thì ta phải tìm hiểu Nginx là gì đã nhé.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Nginx là gì?

Nginx được gọi theo cách phát âm là "engine x" là một máy chủ Reserse Proxy, HTTP cache và là bộ đệm cân bằng tải.

Một số công ty, tập đoàn nổi tiếng sử dụng Nginx bao gồm Autodesk, Atlassian, Intuit, T-Moblie, GitLab, DuckDuckGo, Microsoft, IBM, Citrix Systems, Twitter, Apple, Intel, vv....

Nginx ban đầu được tạo ra bởi Igor Sysoev, với bản phát hành công khai đầu tiên vào tháng 10 năm 2004. Ban đầu nhà phát hành quan niệm phần mềm này như một câu trả lời cho vấn đề C10k, một vấn đề liên quan đến xử lí 10.000 kết nối đồng thời.

Vì nguồn gốc của nó là tối ưu hóa hiệu suất theo quy mô, nên Nginx thường vượt trội hơn các Web Server khác trong các bài kiểm tra chuẩn, đặc biệt với các Website chạy tĩnh có tính đồng thời cao.

2. Lưu ý trước khi cài đặt Nginx trên Ubuntu

Bạn phải đăng nhập với tư cách là người dùng có đặc quyền sudo và bạn không dùng dịch vụ của Apache hoặc bất kì Web Server nào đang chạy trên cổng 80 (HTTP) hoặc 443 (HTTPS).

Nếu bạn đang dùng Apache, hãy kiểm tra trạng thái dịch vụ của nó xem có đang chạy không bằng cách nhập lệnh sau :

sudo service apache2 status or sudo systemctl status apache2

5 cai dat nginx 01 png

Nếu nó đang ở trạng thái active, hãy dừng nó lại bằng lệnh sau :

sudo service apache2 stop

Mình khuyên là nên xóa hẳn dịch vụ của Apache nhé, lí do mình sẽ nói ở những bài viết sau. Xóa dịch vụ của Apache bằng cách sử dụng lệnh sau:

sudo apt-get remove apache2*

Tìm xem còn thư mục của Apache ở đâu và xóa nốt :

whereis apache2

Như ở máy mình, nó đang lưu ở thư mục /etc/apache2.

Sử dụng tiếp lệnh sau để xóa thư mục này :

sudo rm -rf /etc/apache2

Kiểm tra lại xem còn ở thư mục nào không :

whereis apache2

5 cai dat nginx 02 png

Kiểm tra lại xem dịch vụ còn chạy không :

sudo service apache2 status 

Nếu nó như màn hình của mình thì chúng ta xóa thành công nhé.

5 cai dat nginx 03 png

3. Các bước cài đặt Nginx trên Ubuntu

Các gói Nginx có sẵn trong kho lữu trữ của Ubuntu, để được cập nhật bản Ngnix mới nhất thì chúng ta phải update Ubuntu lên mới nhất sau đó mới tải bằng cách nhập lệnh sau :

sudo apt update
sudo apt install nginx -y (tự động yes)

Sau khi cài đặt xong, chúng ta kiểm tra trạng thái của nó xem có đang chạy hay dừng bằng lệnh :

sudo systemctl status nginx or sudo service nginx status

Nếu nó có trạng thái là active như trong ảnh tức là nó đang chạy.

5 cai dat nginx 04 png

Vậy là bạn đã cài đặt Nginx thành công.

4. Thiết lập tường lửa giúp bảo mật Nginx

Mình hiện tại đang sử dụng dịch vụ UFW để quản lí Firewall của mình, bạn cần mở các cổng HTTP (80) và HTTPS (443). Mình sẽ bật cấu hình 'Nginx HTTP' bao gồm các quy tắc cho một cổng bằng lệnh sau :

Kiểm tra trạng thái dịch vụ của nó :

sudo service ufw status

5 cai dat nginx 06 png

Sau đó nhập lệnh:

sudo ufw allow 'Nginx HTTP'

Sau đó kiểm tra trạng thái của nó xem đã hoạt động chưa bằng lệnh:

sudo service ufw status

5 cai dat nginx 07 png

Nó đã hoạt động.

Nếu bạn muốn mở hai cổng 80 và 443 thì thay cái "Nginx HTTP" bằng "Nginx Full" nhé.

Lưu ý: Khi bạn lần đầu tiên cài đặt UFW thì nó sẽ mặc định trạng thái là disable, nó sẽ thể hiện khi bạn kiểm tra trạng thái của UFW và nó báo "inactive". Để bắt đầu sử dụng, bạn nhập lệnh sau :

sudo ufw enable

5. Kiểm tra xem đã cài đặt Nginx thành công chưa

Để kiểm tra xem nó đã hoạt động hay chưa, bạn lên Browser nhập địa chỉ sau : http://YOUR-IP/.

Cách xem IP của bạn trên Linux, bạn nhập lệnh sau trên terminal :

ifconfig 

Vì mình không thể show IP ra nên nếu màn hình Browser hiện ra như vậy thì bạn đã thiết lập thành công.

5 cai dat nginx 08 png

6. Các lệnh quản lí dịch vụ Nginx trên Ubuntu

Dưới đây là một số lệnh thường dùng đùng để quản lý dịch vụ Nginx trên Linux nói chung và Ubuntu nói riêng.

Để dừng dịch vụ, bạn nhập lệnh sau :

sudo service nginx stop or sudo systemctl stop nginx.

Để khởi động lại dịch vụ, bạn nhập lệnh sau :

sudo service nginx restart or sudo systemctl restart nginx.

Để tắt/mở dịch vụ, bạn nhập lệnh sau :

sudo service nginx disable/enable.

7. Nên sử dụng Nginx hay Apache?

Apache là máy chủ HTTP mã nguồn mở trong khi Nginx là Web Server không đồng bộ mã nguồn mở, hiệu suất cao và là Proxy Reverse.

Sửa lỗi, hỗ trợ, bảo trì và phát triển ứng dụng trong máy chủ Apache HTTP được quản lí và duy trì bởi cộng đồng người dùng trên khắp thế giới và được điều phối bởi Apache Software Foundation trong khi Nginx được xử lí bởi một công ty cùng tên được thành lập vào năm 2011.

Sự khác biệt chính giữa cả hai là cách họ xử lí yêu cầu của khách hàng. Trong khi Apache cung cấp nhiều mo-đun đa xử lí khác nhau để xử lí các yêu cầu của khách hàng và lưu lượng truy cập web, thì Nginx được thiết kế để xử lí đồng thời nhiều yêu cầu của khách hàng với tài nguyên phần cứng tối thiểu.

Trong Apache, một luồng chỉ được liên kết với một kết nối, trong khi một luồng trong Nginx có thể xử lí được nhiều kết nối. Tất cả các quá trình được đặt trong một vòng lặp sự kiện cùng với các kết nối khác và được quản lí không đồng bộ. Quá trình này tiêu tốn ít bộ nhớ hơn, do đó nó được tăng hiệu suất.

Apache HTTP Server có kiến trúc đa luồng thiếu khả năng mở rộng. Trong khi Nginx tuân theo phương pháp tiếp cận hướng sự kiện không đồng bộ để xử lí nhiều yêu cầu của khách hàng. Kiến trúc hướng sự kiện của nó được thiết kế để tạo điều kiện hoạt động tốt hơn ngay cả khi băng thông bị tắc nghẽn.

Máy chủ Apache phục vụ nội dung tĩnh bằng các phương pháp thông thường và xử lí nội dung ngay trong chính máy chủ web. Mặt khác, Nginx không thể xử lí nội dung động trong nội bộ. Nó dựa vào các quy trình ngoài để thực thi.

Hi vọng những cái mình phân tích nhanh dựa theo những Website uy tín mà mình tìm hiểu được sẽ giúp các bạn lựa chọn được một Web Server để phục vụ mục đích của mình. Như vậy qua đó mình đã hướng dẫn cách tải về và sử dụng Nginx Server cơ bản và đánh giá nhanh sự khác biệt giữa Apache và Nginx cho các bạn.

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top