- Published on
Hướng Dẫn Cài Đặt Nginx Trên Ubuntu Cho Người Mới Bắt Đầu
- Authors
- Name
- Khoa (kapybara)
- Occupation
- Full-stack developer
1. Giới Thiệu Về Nginx
Nginx là gì?
Nginx là một web server mạnh mẽ, được thiết kế để xử lý hàng nghìn request đồng thời, với hiệu năng cao hơn nhiều so với Apache. Ngoài việc phục vụ website tĩnh, Nginx còn được sử dụng làm proxy ngược, cân bằng tải, và gateway API.
So sánh Nginx với Apache
- Hiệu năng: Nginx tốt hơn trong xử lý nhiều request.
- Tài nguyên: Nginx tiết kiệm RAM hơn.
- Cấu hình: Apache có nhiều module hơn, nhưng Nginx đơn giản và hiệu quả.
Ưu điểm của Nginx
- Hiệu năng cao, xử lý nhanh.
- Hỗ trợ HTTP/2.
- Dễ cài đặt và cấu hình.
2. Tại Sao Nên Chọn Nginx?
Phù hợp cho các loại website
- Website tĩnh.
- Website dynamic kết hợp Node.js, PHP.
- Ứng dụng API.
Khả năng mở rộng
- Proxy ngược: Chuyển request tới backend server.
- Cân bằng tải: Phân phối request đều cho các server.
3. Chuẩn Bị Môi Trường
Cài đặt Ubuntu
- Tải ISO từ trang chủ Ubuntu.
- Tạo USB boot và cài đặt.
- Cấu hình mạng và đầy đủ các package cơ bản.
Cập nhật hệ thống
sudo apt update && sudo apt upgrade -y
4. Cài Đặt Nginx
Cài đặt Nginx
Sử dụng lệnh sau để cài đặt:
sudo apt install nginx -y
Kiểm tra trạng thái Nginx
sudo systemctl status nginx
Nếu Nginx đã cài đặt thành công, bạn sẽ nhìn thấy trạng thái "active (running)".
5. Cấu Hình Cơ Bản
Cấu trúc thư mục của Nginx
/etc/nginx/nginx.conf
: File cấu hình chính./etc/nginx/sites-available/
: Lưu các file cấu hình virtual host./var/www/html/
: Thư mục web root mặc định.
Chỉnh sửa file cấu hình mặc định
Mở file:
sudo nano /etc/nginx/sites-available/default
Sửa để phục vụ website:
server {
listen 80;
server_name localhost;
root /var/www/html;
location / {
index index.html;
}
}
Reload Nginx:
sudo systemctl reload nginx
Tạo Server Block
Tạo file cấu hình mới:
sudo nano /etc/nginx/sites-available/mywebsite
Thêm các cấu hình:
server {
listen 80;
server_name example.com;
root /var/www/mywebsite;
location / {
index index.html;
try_files $uri $uri/ =404;
}
}
Kéo symbolic link tới sites-enabled
:
sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/
6. Truy Cập Nginx
Mở trình duyệt và nhập IP hoặc tên miền để truy cập website.
7. Tùy Chỉnh Cấu Hình
Virtual Host
Phục vụ nhiều website bằng cách tạo nhiều server block trong sites-available
.
SSL
Cài Let’s Encrypt:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
Caching
Thêm các header caching trong cấu hình:
location / {
expires 1d;
add_header Cache-Control "public, no-transform";
}
8. Tối Ưu Hóa Nginx
Worker Processes
Tối đa số worker processes:
worker_processes auto;
Kết nối
Tăng số lượng kết nối:
worker_connections 1024;
Gzip Compression
Kích hoạt gzip:
gzip on;
gzip_types text/plain application/json;
9. Các Lệnh Quản Lý Nginx
Khởi động:
sudo systemctl start nginx
Dừng:
sudo systemctl stop nginx
Khởi động lại:
sudo systemctl restart nginx
Kiểm tra log:
sudo tail -f /var/log/nginx/access.log sudo tail -f /var/log/nginx/error.log
10. Kết Luận
Tóm Tắt
Bài viết hướng dẫn từng bước cài đặt và cấu hình Nginx trên Ubuntu, nhấn mạnh những ưu điểm như hiệu năng cao và linh hoạt.
Lời Khuyên
Người mới bắt đầu nên thực hành theo các bước trong bài viết và tìm hiểu sâu hơn về các tùy chỉnh trong tài liệu chính thức của Nginx.