Nginx là một trong những máy chủ web phổ biến nhất trên thế giới. Trong bài viết này VINASTAR sẽ hướng dẫn các bạn cài đặt Nginx trên Ubuntu 20.
Cài đặt Nginx trên Ubuntu 20 – Nginx là một trong những máy chủ web phổ biến nhất trên thế giới và có khả năng chạy các trang web có lưu lượng truy cập lớn. Nginx là một lựa chọn gọn nhẹ và có thể được sử dụng làm máy chủ web hoặc proxy ngược.
Trong bài viết này VINASTAR sẽ hướng dẫn các bạn cài đặt Nginx Stable phiên bản mới nhất tại thời điểm viết bài là 1.18.0.
Cài đặt Nginx trên Ubuntu 20
1. Bước 1 – Cài đặt Nginx
Trước tiên các bạn cần cài đặt các gói cần thiết:
sudo apt install curl gnupg2 ca-certificates lsb-release -y
Để thiết lập kho apt cho gói nginx stable, hãy chạy lệnh sau:
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Tiếp theo, nhập Nginx key chính thức để apt có thể xác minh tính xác thực của các gói:
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
Xác minh tính hợp lệ của Nginx key:
sudo apt-key fingerprint ABF5BD827BD9BF62
Để cài đặt nginx trên Ubuntu 20, hãy chạy các lệnh sau:
sudo apt update sudo apt install nginx -y
2. Bước 2: Cấu hình tường lửa
Trước khi kiểm tra Nginx, các bạn cần phải sửa đổi các cài đặt tường lửa để có thể truy cập vào các cổng web mặc định. Bạn nên kích hoạt cấu hình hạn chế nhất để đảm bảo vừa cho phép lưu lượng truy cập mà bạn đã cấu hình vừa đảm bảo vấn đề bảo mật. Thông thường đổi với dịch vụ web các bạn chỉ cần mở port 80 cho giao thức HTTP và port 443 cho giao thức HTTPS:
sudo ufw allow http sudo ufw allow https
3. Bước 3 – Kiểm tra máy chủ web của bạn
Sau khi kết thúc quá trình cài đặt, các bạn cần khởi động Nginx bằng lệnh sau.
sudo systemctl start nginx
Để kiểm tra xem Nginx đã thực sự hoạt động hay chưa các bạn sử dụng lệnh sau:
systemctl status nginx
Ngoài ra, để xác định việc cấu hình UFW Firewall đã thành công và có thể truy cập website từ bên ngoài hãy truy cập http://your_server_ip/ trên trình duyệt của bạn để kiểm tra.
4. Bước 4 – Quản lý Nginx
Như vậy bạn đã hoàn tất việc cài đặt Nginx, để quản lý Nginx các bạn có thể tham khảo các lệnh dưới đây.
- Để dừng Nginx các bạn dùng lệnh:
sudo systemctl stop nginx
- Để khởi động Nginx các bạn dùng lệnh:
sudo systemctl start nginx
- Để khởi động lại Nginx các bạn dùng lệnh:
sudo systemctl restart nginx
- Nếu bạn chỉ đơn giản là thực hiện thay đổi cấu hình, Nginx có thể tải lại mà không làm mất kết nối. Để làm điều này, sử dụng lệnh sau:
sudo systemctl reload nginx
- Theo mặc định, Nginx được cấu hình khởi động cùng máy chủ (Auto start). Nếu bạn không muốn Nginx khởi động cùng máy chủ hãy dùng lệnh sau:
sudo systemctl disable nginx
- Để kích hoạt cấu hình khởi động cùng máy chủ hãy dùng lệnh sau:
sudo systemctl enable nginx
Các bạn nên để Nginx khởi động cùng máy chủ (Auto start)
5. Bước 5 – Thiết lập Virtual Hosts
Khi sử dụng Nginx, bạn có thể sử dụng server blocks (Tương tự virtual hosts trên Apache) riêng cho từng website giúp cho việc quản lý cấu hình được dễ dàng hơn
Thay your_domain bằng tên miền của các bạn.
Đầu tiên tạo thư mục cho your_domain như sau:
sudo mkdir -p /var/www/your_domain
Tiếp theo, gán quyền sở hữu thư mục với user nginx
sudo chown -R nginx:nginx /var/www/your_domain
Để đảm bảo thư mục your_domain của bạn được phân quyền chính xác hãy sử dụng lệnh sau
sudo chmod -R 755 /var/www/your_domain
Tiếp theo, tạo trang index.html:
sudo nano /var/www/your_domain/index.html
Dán nội dung sau đây vào:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>First Website</title> </head> <body> <h1>First Website</h1> </body> </html>
Bấm Ctrl + o và nhấn Enter để lưu file, Ctrl + x để thoát nano. Tiếp theo các bạn cần tạo file server blocks /etc/nginx/conf.d/your_domain.conf
server { listen 80; listen [::]:80; root /var/www/your_domain; index index.html index.htm index.php; server_name your_domain www.your_domain; location / { try_files $uri $uri/ =404; } }
Tiếp theo, kiểm tra để đảm bảo rằng không có lỗi cú pháp trong bất kỳ tệp Nginx nào của bạn:
sudo nginx -t
Nếu có bất kỳ vấn đề nào, hãy khởi động lại Nginx để kích hoạt các thay đổi của bạn:
sudo systemctl restart nginx
Truy cập http://your_domain bằng trình duyệt web để kiểm tra
6. Bước 6 – Làm quen với các tệp và thư mục quan trọng của Nginx
Bây giờ bạn đã biết cách tự quản lý dịch vụ Nginx của mình, bạn nên dành vài phút để làm quen với một vài thư mục và tệp quan trọng của Nginx.
6.1. Thư mục chứa mã nguồn
/var/www/html: Theo mặc định thì mã nguồn của website có thể được đặt trong thư mục này, bạn cũng có thể thay đổi nếu muốn.
6.2. 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 nằm ở đây.
- /etc/nginx/nginx.conf: Tệp cấu hình chính của Nginx. Tệp này có thể được sửa đổi để thay đổi cấu hình toàn cầu của Nginx. Tệp này chịu trách nhiệm tải nhiều tệp khác trong thư mục cấu hình.
- /etc/nginx/conf.d: Thư mục lưu trữ Server Block của mỗi trang web
- /etc/nginx/modules: Thư mục này chứa các file config các modules
6.3. Server Logs
- /var/log/nginx/access.log: Theo mặc định, mọi yêu cầu (Request) đến máy chủ web của bạn được ghi lại trong tệp này.
- /var/log/nginx/error.log: Theo mặc định, tất cả các lỗi sẽ được ghi lại trong tệp này.
7. Link tham khảo
8. Kết luận
Qua bài viết này VINASTAR đã hướng dẫn các bạn cài đặt Nginx trên Ubuntu 20. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm hướng dẫn cài đặt Apache trên Ubuntu 20.