Thứ Bảy, 29 tháng 7, 2023

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é.

Mục lục

  • 1. Nginx là gì?
  • 2. Lưu ý trước khi cài đặt Nginx trên Ubuntu
  • 3. Các bước cài đặt Nginx trên Ubuntu
  • 4. Thiết lập tường lửa giúp bảo mật Nginx
  • 5. Kiểm tra xem đã cài đặt Nginx thành công chưa
  • 6. Các lệnh quản lí dịch vụ Nginx trên Ubuntu
  • 7. Nên sử dụng Nginx hay Apache?

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....

Bài viết này được đăng tại tranvanbinh.vn

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 :

1
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 :

1
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:

1
sudo apt-get remove apache2*

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

1
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 :

1
sudo rm -rf /etc/apache2

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

1
whereis apache2

5 cai dat nginx 02 png

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

1
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 :

1
2
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 :

1
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ó :

1
sudo service ufw status

5 cai dat nginx 06 png

Sau đó nhập lệnh:

1
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:

1
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 :

1
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 :

1
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 :

1
sudo service nginx stop or sudo systemctl stop nginx.

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

1
sudo service nginx restart or sudo systemctl restart nginx.

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

1
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.


=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master