Cách tạo và thiết lập máy chủ ảo Nginx trên Ubuntu | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách tạo và thiết lập máy chủ ảo Nginx trên Ubuntu

Chia sẻ kiến thức 22/03/2022

Bạn có thể lưu trữ nhiều trang web trên một máy chủ Ubuntu bằng cách định cấu hình máy chủ web ảo với Nginx.

Bạn có thể lưu trữ nhiều trang web trên một máy chủ Ubuntu bằng cách định cấu hình máy chủ web ảo với Nginx.

Bạn đã bao giờ tự hỏi làm thế nào để lưu trữ một vài trang web trên cùng một máy chủ mà không cần sử dụng máy ảo hoặc các thiết lập phức tạp? Máy chủ ảo Nginx chính là thứ bạn đang tìm kiếm.

Trong bài viết này, FUNiX sẽ hướng dẫn cách định cấu hình máy chủ web ảo trên Ubuntu bằng máy chủ web Nginx. Nginx là một web và máy chủ proxy ngược (reverse proxy server) có hiệu suất cao. Nó nhẹ, đa nền tảng và có mã nguồn mở.

Máy chủ ảo (virtual host) là gì?

Máy chủ lưu trữ web ảo là một phương pháp chạy hoặc lưu trữ một số trang web với các tên miền khác nhau trên một máy chủ vật lý hoặc máy ảo duy nhất.

Lưu trữ ảo (virtual hosting) được sử dụng rộng rãi bởi các công ty lưu trữ trang web để tiết kiệm chi phí và phục vụ cho nhiều khách hàng mà không tốn nhiều tài nguyên hoặc phần cứng máy chủ chuyên dụng.

Nếu bạn đã từng sử dụng lưu trữ chia sẻ (shared hosting), rất có thể đó là một máy chủ ảo đang hoạt động đằng sau hậu trường.

Bước 1: Cài đặt Máy chủ Nginx

Trong trường hợp bạn chưa cài đặt Nginx, đây là cách bạn có thể nhanh chóng cài đặt nó trên Ubuntu bằng APT.

Trước tiên, hãy cập nhật thông tin gói của bạn dựa trên các nguồn đã định cấu hình:

sudo apt update

Sau đó, cài đặt Nginx như sau:

sudo apt install nginx

Thử nghiệm Nginx

Khởi động dịch vụ Nginx bằng lệnh systemctl.

sudo systemctl start nginx

Trong trình duyệt web của bạn, hãy truy cập http: // localhost: 80 để xác nhận xem Nginx đã được cài đặt thành công hay chưa. Nếu thành công, trình duyệt của bạn sẽ hiển thị một trang tương tự như bên dưới.

 

Bước 2: Tạo và định cấu hình trang web

Theo mặc định, trang web do Nginx cung cấp chạy trên cổng 80 và được lưu trữ trong thư mục /var/www/html.

Để định cấu hình máy chủ ảo, bạn nên đặt từng trang web riêng biệt trong một thư mục khác nhau, để bảo mật và quản lý tốt hơn.

Tạo một thư mục trong thư mục /var/www. Bạn có thể đặt tên nó là VirtualHost nhưng cũng có thể sử dụng bất kỳ tên nào mà bạn chọn. Để làm điều đó, hãy điều hướng đến thư mục /var/www bằng lệnh cd.

cd /var/www

Tiếp theo, tạo thư mục trang web như sau:

mkdir -p VirtualHost

Tạo tệp index.html trong thư mục bằng các lệnh sau:

cd /VirtualHost 
touch index.html

Mở tệp index.html bằng trình soạn thảo văn bản của bạn và thêm các dòng mã sau vào tệp đó:

<!doctype html>
<html>
<head>
 <meta charset="utf-8">
 <title>Nginx: Web & Reverse proxy server</title>
</head>
<body>
 <h1>Welcome to Nginx</h1>
 <p>I've just configured a virtual host using Nginx web server on Linux</p>
</body>
</html>

Lưu và đóng tập tin.

Bước 3: Định cấu hình Máy chủ ảo

Bạn có thể tìm thấy các tệp cấu hình Nginx trong thư mục /etc/nginx. Để định cấu hình máy chủ ảo, trước tiên, hãy tạo tệp cấu hình máy chủ ảo cho trang web trong thư mục /etc/nginx/sites-enabled.

cd /etc/nginx/sites-enabled

Chúng tôi đã đặt tên tệp là virtual_host nhưng bạn có thể sử dụng bất kỳ tên nào. 

touch virtual_host

Mở tệp bạn vừa tạo, tức là virtual_host, sử dụng trình soạn thảo văn bản yêu thích của bạn và dán các dòng mã sau vào đó:

server {
listen 81;
listen [::]:81;
server_name my.virtualhost.com;
root /var/www/VirtualHost;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}

Lưu và đóng tập tin.

Dưới đây là giải thích về một số cấu hình quan trọng trong tệp:

  • Listen: Chỉ định rằng Nginx sẽ phục vụ trang web tại cổng 81, tức là https : // localhost : 81.
  • server_name: Bạn có thể đặt bất kỳ tên nào vì bạn chưa sử dụng bất kỳ miền thực nào tại thời điểm này. Tôi đã đặt tên của tôi là my.virtualhost.com.
  • root: Đây là vị trí của trang web. Trong trường hợp này, thư mục /var/www/VirtualHost.
  • index: Chỉ định trang bắt đầu (start page) của trang web, là index.html .

Bước 4: Serve trang web

Khởi động lại máy chủ Nginx để lưu các thay đổi bạn đã thực hiện.

sudo systemctl restart nginx

Bạn có thể kiểm tra trạng thái của máy chủ Nginx bằng cách chạy:

sudo systemctl status nginx

Nếu mọi thứ đều ổn, hãy điều hướng đến URL http: // localhost: 81, trong trình duyệt web của bạn.

Bây giờ bạn có hai trang web trên máy chủ của mình, một trang chạy trên cổng 81 và một trang khác chạy trên cổng 80.

Hy vọng sau bài viết này, bạn đọc đã biết cách lưu trữ nhiều trang web trên Ubuntu bằng máy chủ web Nginx. 

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/create-nginx-virtual-hosts-ubuntu/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại