Bắt đầu nhanh: một trang web trong 15 phút
Từ máy sạch đến trang web nginx hoạt động với chứng chỉ HTTPS: cài đặt, thư mục trang web, tên miền, tường lửa, và kiểm tra.
Cập nhật 23 tháng 8, 2026
Kịch bản: một bản cài Debian hoặc Ubuntu mới, tên miền riêng của bạn, và mục tiêu là xem được trang của bạn qua HTTPS. Mọi lệnh đều chạy với quyền root qua SSH.
1. Cài nginx
apt update && apt install -y nginx
systemctl enable --now nginx
Mở http://your-address trong trình duyệt — bạn sẽ thấy trang chào mừng. Nếu không thấy, hãy kiểm tra tường lửa (bước 3).
Trên AlmaLinux, dùng dnf thay cho apt; xem AlmaLinux.
2. Trỏ tên miền
Trong bảng điều khiển của nhà đăng ký tên miền, thêm bản ghi A với địa chỉ của máy từ tab “Overview”:
example.com. A 203.0.113.10
www.example.com. A 203.0.113.10
Kiểm tra xem tên miền đã phân giải đúng địa chỉ chưa:
apt install -y dnsutils
dig +short example.com
Bản ghi cần từ một phút đến vài giờ để cập nhật. Khi dig vẫn trả về địa chỉ cũ, bạn sẽ không thể cấp chứng chỉ.
3. Mở các cổng
apt install -y ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Đầu tiên
allow OpenSSH, rồi mớienable. Làm ngược thứ tự sẽ cắt mất quyền truy cập của bạn, và bạn sẽ phải đăng nhập qua bảng điều khiển văn bản.
4. Tạo một site
mkdir -p /var/www/example.com
echo '<h1>Works</h1>' > /var/www/example.com/index.html
chown -R www-data:www-data /var/www/example.com
Cấu hình trong /etc/nginx/sites-available/example.com:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Bật và áp dụng:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
nginx -t là bắt buộc: lệnh này kiểm tra cấu hình trước khi khởi động lại. Nếu kết quả không kết thúc bằng syntax is ok và test is successful, đừng khởi động lại dịch vụ — hãy sửa lỗi trước.
5. Cấp chứng chỉ
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot sẽ hỏi email, thêm khối listen 443 ssl, và thiết lập chuyển hướng HTTP. Việc gia hạn được thiết lập tự động; bạn có thể kiểm tra như sau:
certbot renew --dry-run
Những lỗi thường gặp nhất
| Triệu chứng | Nguyên nhân |
|---|---|
| Trình duyệt không mở được site | Cổng 80 hoặc 443 bị đóng trong ufw |
Certbot: Timeout during connect | Tên miền chưa trỏ đến máy, hoặc cổng 80 bị đóng |
502 Bad Gateway | nginx đang proxy tới một ứng dụng không chạy — kiểm tra systemctl status cho dịch vụ của bạn |
403 Forbidden | Không có quyền trên thư mục, hoặc thiếu index.html |
| Hiện trang mặc định của nginx thay vì trang của bạn | /etc/nginx/sites-enabled/default chưa được xóa |
Log cho bất kỳ vấn đề nào ở trên:
tail -n 50 /var/log/nginx/error.log
journalctl -u nginx -n 50 --no-pager
Tiếp theo, bạn nên xử lý bảo mật cơ bản bằng danh sách kiểm tra giờ đầu tiên nếu bạn chưa làm qua.