Hướng Dẫn Cài Đặt và Sử Dụng Nginx Cơ Bản Cho Người Mới Bắt Đầu
Nginx là gì?
Nếu bạn là dân dev và chưa nghe đến Nginx thì chắc chắn bạn đang bỏ lỡ một công cụ cực kỳ mạnh trong thế giới backend! Nginx là một web server kiêm reverse proxy siêu nhẹ, siêu nhanh, chuyên dùng để:
- Chạy web server tĩnh
- Load balancing
- Làm proxy cho các backend app (Node.js, PHP, v.v.)
- Làm HTTPS termination
Bắt đầu cài đặt Nginx (cho Ubuntu/Debian)
sudo apt update
sudo apt install nginx
Xong xuôi, kiểm tra xem Nginx đã chạy chưa:
sudo systemctl status nginx
Nếu thấy active (running) là OK rồi. Truy cập thử http://localhost trên trình duyệt, bạn sẽ thấy màn hình “Welcome to Nginx”.
Cấu trúc thư mục quan trọng
- /etc/nginx/nginx.conf: file config chính
- /etc/nginx/sites-available/: nơi bạn tạo các file config cho từng website
- /etc/nginx/sites-enabled/: nơi kích hoạt các site (thông qua symlink)
- /var/www/html/: thư mục chứa code web mặc định
Tạo website riêng
Ví dụ: Bạn có 1 project React build ra thư mục /var/www/my-site.
-
Tạo file config mới:
sudo nano /etc/nginx/sites-available/my-site
-
Dán vào nội dung ví dụ:
server {
listen 80;
server_name yourdomain.com;
root /var/www/my-site;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
-
Kích hoạt config:
sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/
-
Kiểm tra lỗi config:
sudo nginx -t
-
Reload lại nginx:
sudo systemctl reload nginx
Cấu hình HTTPS với Let's Encrypt
Miễn phí 100% và cực dễ:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
Kết
Nginx vừa nhẹ, vừa mạnh, và siêu dễ dùng nếu bạn chịu thử. Học xong có thể dùng làm reverse proxy cho Node.js, chạy site tĩnh build từ Next.js hay React, hoặc triển khai web app đi thi hackathon cũng không thành vấn đề.
All rights reserved