cài Nginx trên Ubuntu - toiyeuphp.com
cài Nginx trên Ubuntu - toiyeuphp.com

Nginx là một trong những Web server được sử dụng phổ biến nhất trên thế giới. Nó dễ tương thích với tài nguyên và nhanh hơn máy chủ Apache. Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài Nginx trên Ubuntu 18.04 của bạn.

Điều kiện tiên quyết

Để cài Nginx trên Ubuntu 18.04, bạn cần có quyền root tại máy cài đặt.

Bước 1: Cài đặt Nginx

Nginx có sẵn trong kho lưu trữ phần mềm của Ubuntu. Vì vậy mà việc cài Nginx trên Ubuntu 18.04 không mấy khó khăn. Các bạn chỉ cần chạy 2 câu lệnh sau với quyền root là OK.

sudo apt-get update

Câu lệnh này giúp các bạn cập nhật kho lưu trữ phần mềm của Ubuntu.

sudo apt-get install nginx

Cậu lệnh này giúp các bạn cài nginx trên Ubuntu của bạn

Bước 2: Cấu hình tường lửa.

Bước tiếp theo của quá trình cài đặt là cấu hình lại tường lửa cho dịch vụ Nginx để cho phép truy cập dịch vụ. Ở đây, bạn có thể kiểm tra các ứng dụng đang được tường lửa cấp phép hoạt động bằng câu lệnh sau:

sudo ufw app list

Bạn sẽ nhận được danh sách các ứng dụng được tường lửa cấp phép như sau:

Output
Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Như bạn có thể thấy, có 3 ứng dụng có sẵn cho nginx

  • Nginx Full : Cấu hình này mở cả cổng 80 (lưu lượng truy cập web bình thường, không được mã hóa) và cổng 443 (lưu lượng được mã hóa TLS / SSL)
  • Nginx HTTP : Cấu hình này chỉ mở cổng 80 (lưu lượng truy cập web bình thường, không được mã hóa)
  • Nginx HTTPS : Cấu hình này chỉ mở cổng 443 (lưu lượng được mã hóa TLS / SSL)

Để tăng tính bảo mật cho hệ thống của bạn, bạn nên cấu hình tối thiểu các cho phép trên hệ thống của bạn. Với bài viết này, mình chưa cài SSL lên server của mình, nên mình chỉ cần cho phép truy cập trên cổng 80 thôi.

Mình có thể kích hoạt điều này đơn giản bằng lệnh:

sudo ufw allow "Nginx HTTP"

Bạn có thể xác minh thay đổi bằng cách chạy lệnh:

sudo ufw status

Màn hình sẽ hiển thị ra như sau:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Bước 3: Kiểm tra web server của bạn

Khi kết thúc quá trình cài đặt, Ubuntu của bạn sẽ khởi động Nginx. Bạn có thể kiểm tra hoạt động của Nginx bằng câu lệnh sau:

systemctl status nginx

Màn hình hiển thị như sau là bạn đã thành công:

Output
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2016-04-18 16:14:00 EDT; 4min 2s ago
 Main PID: 12857 (nginx)
   CGroup: /system.slice/nginx.service
           ├─12857 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─12858 nginx: worker process

Như bạn thấy ở trên thì web server của bạn đã chạy rồi. Tuy nhiên, cách tốt nhất để kiểm tra nó chạy ok không là dùng trình duyệt để truy cập vào nginx. Để làm được điều này, bạn có thể dùng trình duyệt để truy cập vào link sau:

http://localhost

Bạn sẽ thấy trang đích Nginx mặc định trông giống như thế này

Default page - toiyeuphp.com
Default page – toiyeuphp.com

Trang này là trang mặc định được Nginx tạo ra để báo cho chúng ta biết Nginx đã được cài đặt thành công trên máy tính của bạn.

Bước 4: Quản lý Nginx

Bây giờ, bạn đã cài đặt xong Nginx trên máy tính của mình, giờ chúng ta sẽ cùng đi qua 1 số câu lệnh để quản lý Nginx.

Để tắt nginx trên máy của bạn, bạn dùng câu lệnh:

sudo systemctl stop nginx

Để khởi động nginx, bạn dùng câu lệnh:

sudo systemctl start nginx

Để khởi động lại nginx, ta dùng lệnh:

sudo systemctl restart nginx

Để load cấu hình mới mà không khởi động lại nginx, ta dùng lệnh sau:

sudo systemctl reload nginx

Mặc định nginx sẽ khởi động cùng máy chủ. Nếu đây không phải là điều bạn muốn, bạn có thể tắt điều này bằng lệnh:

sudo systemctl disable nginx

Để kích hoạt lại dịch vụ khởi động cùng hệ thống, ta dùng lệnh sau:

sudo systemctl enable nginx

Bước 5: Làm quen với các file và folder quan trọng của Nginx

Đến đây, bạn đã có thể quản lý dịch vụ nginx một cách tổng quát. Bạn nên dành vài phút để làm quen với các tài nguyên quan trọng của hệ thống nginx.

Folder chứa web

  • /var/www/html: Folder này chứa các trang web của bạn. Đây là folder mặc định khi cài đặt nginx, bạn có thể thay đổi nó trong file cấu hình của Nginx

Cấu hình máy chủ

  • /etc/nginx: Thư mục cấu hình Nginx. Tất cả các tệp cấu hình Nginx đều nằm ở đây.
  • /etc/nginx/nginx.conf: File cấu hình Nginx chính. Với file này, bạn có thể thay đổi toàn cầu cấu hình Nginx.
  • /etc/nginx/sites-available/: Một web server Nginx có thể cùng lúc chạy nhiều web khác nhau, mỗi web được cấu hình bằng một file trong folder này. Nginx sẽ không sử dụng các file cấu hình trong thư mục này, nếu chúng không được cấp phép và liên kết tự động với một file ở thư mục sites-enabled.
  • /etc/nginx/sites-enabled/: Folder chứ các file cấu hình của các web đã được web master enable lên. Các file ở đây hoàn toàn giống các file trong thư mục /etc/nginx/sites-available/ và nó chỉ chứa các file cấu hình của các web đang hoạt động.

Nhật ký máy chủ ( file log )

  • /var/log/nginx/access.log: Mọi yêu cầu đến máy chủ web của bạn được ghi lại trong file nhật ký này trừ khi Nginx được định cấu hình để lưu vào file khác.
  • /var/log/nginx/error.log: Bất kỳ lỗi Nginx nào cũng sẽ được ghi lại trong file này.

Phần kết

Đến đây, mình đã giới thiệu hết cho các bạn cách cài Nginx trên Ubuntu 18.04, các câu lệnh cấu hình, quản lý và các tài nguyên quan trọng trong Nginx rồi. Hy vọng với bài viết này, các bạn sẽ có cái nhìn tổng quan về Nginx và sử dụng nó trong các dự án sắp tới.

Bài tiếp theo: Hướng dẫn cài Mysql và PHP trên Ubuntu chạy Nginx

Leave A Reply

Please enter your comment!
Please enter your name here