Nginx là một trong những máy chủ web phổ biến và mạnh mẽ, được sử dụng rộng rãi nhờ khả năng xử lý nhiều yêu cầu một cách hiệu quả. Cài đặt Nginx trên Ubuntu không quá phức tạp nhưng đòi hỏi người dùng phải nắm rõ các bước cơ bản. Trong bài viết này, chúng tôi sẽ hướng dẫn chi tiết từng bước từ cài đặt, cấu hình đến tối ưu hiệu suất Nginx trên hệ điều hành Ubuntu. Dù bạn là người mới hay đã có kinh nghiệm, bài viết này sẽ giúp bạn xây dựng một máy chủ web hoàn chỉnh, sẵn sàng cho mọi dự án.
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
Sau khi cài xong, kiểm tra trạng thái dịch vụ:
sudo systemctl status nginx
Nếu chưa chạy, bạn có thể bật thủ công:
sudo systemctl start nginx
sudo systemctl enable nginx # Tự động chạy khi khởi động lại server
sudo ufw allow 'Nginx Full'
sudo ufw reload
sudo ufw status
Mở trình duyệt và truy cập địa chỉ IP public hoặc domain:
http://your-server-ip
Bạn sẽ thấy trang mặc định: "Welcome to Nginx"
/etc/nginx/nginx.conf
/etc/nginx/sites-available/
/etc/nginx/sites-enabled/
/var/www/html
example.com
sudo mkdir -p /var/www/example.com
echo "<h1>Hello from example.com</h1>" | sudo tee /var/www/example.com/index.html
sudo chown -R www-data:www-data /var/www/example.com
sudo nano /etc/nginx/sites-available/example.com
Dán vào nội dung:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Tại quản lý DNS domain → thêm bản ghi A trỏ về IP server:
A example.com 123.123.123.123
A www.example.com 123.123.123.123
sudo apt install certbot python3-certbot-nginx -y
Sau đó chạy:
sudo certbot --nginx -d example.com -d www.example.com
Cài thành công sẽ tự cấu hình HTTPS cho bạn.
Certbot sẽ tự thêm cron job vào hệ thống. Bạn có thể kiểm tra thử bằng:
sudo certbot renew --dry-run
Tác vụ | Lệnh |
---|---|
Khởi động lại Nginx | sudo systemctl restart nginx |
Dừng Nginx | sudo systemctl stop nginx |
Kiểm tra lỗi config | sudo nginx -t |
Xem log truy cập | tail -f /var/log/nginx/access.log |
Xem log lỗi | tail -f /var/log/nginx/error.log |
sudo rm /etc/nginx/sites-enabled/default
sudo systemctl reload nginx