Cài đặt Nginx
-
Cập nhật danh sách gói phần mềm:
sudo apt update -
Cài đặt Nginx:
sudo apt install nginx -
Khởi động dịch vụ Nginx:
sudo systemctl start nginx -
Thiết lập tự động khởi động cùng hệ thống:
sudo systemctl enable nginx - Kiểm tra trạng thái hoạt động: Truy cập địa chỉ IP công cộng của máy chủ qua trình duyệt. Nếu Nginx được cài đặt thành công, bạn sẽ thấy trang chào mừng mặc định của Nginx.
Cấu hình Tường lửa
Nếu bạn đang sử dụng tường lửa UFW trên Ubuntu, hãy cho phép lưu lượng truy cập HTTP và HTTPS:
sudo ufw allow 'Nginx Full'
Kiểm tra trạng thái tường lửa để xác nhận thay đổi:
sudo ufw status
Cấu trúc Thư mục Cấu hình
/etc/nginx/nginx.conf: Tệp cấu hình chính./etc/nginx/sites-available/: Lưu trữ các tệp cấu hình cho từng trang web./etc/nginx/sites-enabled/: Chứa các liên kết tượng trưng (symbolic links) đến các cấu hình trang web đang hoạt động trongsites-available./var/www/html: Thư mục gốc mặc định cho nội dung web.
Thiết lập Máy chủ Ảo (Server Blocks)
-
Tạo một tệp cấu hình mới cho trang web của bạn trong thư mục
sites-available:sudo nano /etc/nginx/sites-available/your_domain -
Chỉnh sửa tệp và thêm cấu hình cơ bản sau:
server { listen 80; server_name your_domain www.your_domain; root /var/www/your_domain/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } } -
Tạo thư mục gốc cho nội dung trang web và cấp quyền truy cập phù hợp:
sudo mkdir -p /var/www/your_domain/html sudo chown -R $USER:$USER /var/www/your_domain/html sudo chmod -R 755 /var/www/your_domain -
Tạo một tệp
index.htmlđơn giản để kiểm tra:echo "<h1>Trang web của bạn đang hoạt động!</h1>" | sudo tee /var/www/your_domain/html/index.html -
Kích hoạt trang web bằng cách tạo một liên kết tượng trưng từ
sites-enabledtới tệp cấu hình trongsites-available:sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/ -
Kiểm tra cú pháp cấu hình Nginx để đảm bảo không có lỗi:
sudo nginx -t -
Tải lại cấu hình Nginx để áp dụng các thay đổi:
sudo systemctl reload nginx
Tối ưu hóa và Bảo mật
- Sử dụng Let's Encrypt hoặc nhà cung cấp chứng chỉ khác để tạo chứng chỉ SSL/TLS cho kết nối HTTPS.
- Triển khai HTTP Strict Transport Security (HSTS) để tăng cường bảo mật cho HTTPS.
- Tinh chỉnh các tham số về bộ nhớ đệm (caching) để cải thiện hiệu suất phục vụ nội dung tĩnh.
- Giới hạn kích thước yêu cầu để ngăn chặn các cuộc tấn công tràn bộ đệm.
- Thường xuyên kiểm tra các tệp log để phát hiện sớm các vấn đề hoặc hành vi đáng ngờ.
- Cập nhật các gói phần mềm thường xuyên để đảm bảo hệ thống và ứng dụng luôn được vá lỗi bảo mật mới nhất.