Sau khi mua domain tiếp theo chúng ta phải trỏ domain và đổi Nameserver, chủ đề này không mới tìm trên mạng có rất nhiều bài hướng dẫn chi tiết nhưng cũng có từng đó câu hỏi “em làm các kiểu rồi mà vẫn không trỏ được Domain(têm miền) về VPS, hosting của em mặc dù làm đúng theo hướng dẫn” đại loại thế.
Lý do đơn giản vì mỗi nhà cung cấp domain có một giao diện quản trị khác nhau hướng dẫn của nhà cung cấp này sẽ không đúng với nhà cung cấp khác đặc biệt với newbie không có kiến thức cơ bản.
Bài này sẽ không hướng dẫn kiểu step by step cho một trường hợp cụ thể mà tập trung giải thích hai vấn đề.
- Tại sao lại phải trỏ Domain
- Cách đổi Nameserver(DNS Server) đúng cách.
Mục đích, giúp bạn hiểu cách vận hành của hệ thống domain có thể chiến đấu trên mọi “địa hình” có thể cài đặt domain tối ưu và đạt tốc độ truy cập website nhanh nhất.
Bài hứa hẹn sẽ đề cập đến kỹ thuật nhiều đấy:)
I. Hướng dẫn trỏ Domain(tên miền) cho website.
Sau khi đăng ký domain, để chạy một website đầu tiên chúng ta phải trỏ domain bằng cách tạo một A Record(bản ghi A), ví dụ trên Godaddy mình sẽ tạo bản ghi với thông số như bên dưới.
- Host: để giá trị là
@
có chỗ chỉ là dấu"."
- Type: kiểu bản ghi chọn là
A
- Points To: nhập vào IP của VPS hoặc hosting cái này được nhà cung cấp gửi vào mail sau khi bạn đăng ký dịch vụ thành công nó còn có cách gọi khác là IP Address, Value.
Nếu chỉ chạy web thì chỉ cần một bản ghi A là đủ.
Khi đó trang web được truy cập theo địa chỉ thuysys.com.
Nếu muốn truy cập website dùng www dạng www.thuysys.com bạn có hai cách.
- Tạo A record thay giá trị của Host thành
www
- Tạo CName record với Host là
www
và Points To là@
, như hình dưới.
Thế là xong website của bạn chạy phè phè rồi, bạn tham khảo thêm cách trỏ domain trên namecheap.
Tiếp theo chúng ta cùng tìm hiểu cách đổi Nameserver chính xác và lợi ích của nó.
II. Tim hiểu cách đổi Nameserver
Đặt vấn đề.
Mình thấy rất nhiều bài hướng dẫn trỏ tên miền xong lại cứ nhất định phải khái báo đổi nameserver nhưng không thấy ai nói
- Tại sao phải đổi nameserver ?
- Không khái báo nameserver thì sao, web có chạy được không ?
Một số bài có giải thích nhưng theo kiểu hàn lâm đọc xong chẳng hiểu gì.
Giả xử như mình đã có đủ tất cả cá yếu tố để dựng một website rồi.
VPS
Ơ đây mình cứ gọi chung là VPS vì hosting cũng có cách làm việc tương tự, VPS được mua ở Linode .
- 1.2.3.4: là IP Public được cấp khi mua VPS
- ns.linode.com: mặc định VPS được tạo ra sẽ dùng nameserver của nhà cung cấp.
Godaddy
Và cũng mua domain ở godaddy luôn.
- example.com
:
ví dụ đây là domain được mua tại godaddy. - ns.godaddy.com: nameserver của Godaddy, mặc định tất cả domain mua tại đây đều dùng nameserver này.
Linode
Đây là nhà cung cấp VPS cho mình và họ quản lý nameserver ns.linode.com
.
Giờ bắt đầu đi vào giải quyết những khúc mắc trong quá trình đăng ký và dùng domain.
1. Đăng ký Domain và VPS cùng một nhà cung cấp
Trường hợp này hầu như không phải làm gì không có gì để nói. Hầu hết những người mới thường làm theo cách này phó mặc cho bên cung cấp miễn sao có web chạy là được.
Hệ thống của nhà cung cấp có đầy đủ thông tin rồi nó sẽ tự động khởi tạo các bản ghi cần thiết và cập nhật luôn IP VPS, bạn chỉ cần up code lên để chạy thôi.
2. Domain và VPS khác nhà cung cấp.
Đến đây mới thật sự rối rắm.
Trỏ Domain vẫn tiến hành đúng như bước (I) vấn đề bây giờ là đặt Nameserver như nào cho đúng.
Xét tiếp hai trường hợp nhỏ ở dưới.
2.1. Dùng Nameserver của Godaddy và website đặt tại VPS Linode
Trường hợp này thường rơi vào những người ít dùng dịch vụ domain hay VPS và thiếu kiến thức mạng máy tính căn bản làm máy móc.
Quy trình truy cập website diễn ra như sau:
1. Khi Client truy cập example.com nó sẽ hỏi ns.godaddy.com có thông tin về example.com hay không, godaddy sẽ kiểm tra toàn bộ máy chủ của mình, hiển nhiên dùng nameserver của godaddy nó sẽ có thông tin domain này.
2. Godaddy sẽ chuyển yêu cầu đến VPS có IP 1.2.3.4 để xử lý.
3. Đến đây bắt đầu phát sinh vấn đề, bởi VPS 1.2.3.4 chỉ là một Web Server thông thường được cài LAMP, LEMP nó không hiểu example.com là gì.
VPS thuộc hệ thống của Linode nên theo đúng trình tự nó hỏi ns.linode.com xem domain example.com là thằng nào. Nhưng ns.linode.com cũng chịu vì nó không có quản lý domain này.
4. Cuối cùng VPS phản hồi lại lỗi và không truy cập được website.
Vậy làm sao để truy cập được web vì thực tế rất nhiều người làm như này mà vẫn truy cập website ầm ầm :). Chẳng nhẽ lại dựng DNS Server, bà mẹ nó làm Web còn chưa xong cài thêm nameserver phân giải tên miền trên VPS chắc chết mất.
Không cần đao to búa lớn như vậy bạn có thể chỉnh sưa file host để giải quyết vấn đề này. Nếu chưa biết cách sửa thế nào bạn tham khảo tài liệu sau:
Bạn mở file hosts ra chèn dòng sau vào là xong.
1.2.3.4 example.com
File hosts giống như kiểu mini nameserver vậy, việc thêm sửa file hosts như này sẽ đảm bảo VPS biết domain example.com là thằng nào và trả lời cho Client luôn mà không phải qua bước (3) như ở trên.
Xong xuôi đâu đấy bạn thử truy cập lại example.com xem, đảm bảo vào web ngon lành.
Qua phần giải thích trên bạn cũng hiểu thêm về cách dùng file hosts rồi nhé, chúng ta sang tiếp trường hợp tiếp theo.
2.2. Dùng Nameserver của Linode và webSite đặt tại VPS Linode.
Trường hợp này được đại đa số người có kinh nghiệm dùng, bởi họ có thể tận dụng các mã giảm giá của nhà cung cấp khác nhau để giảm thiểu chi phí. Thứ nữa nó giúp tăng tốc truy cập web site vì thời gian truy vấn tên miền là thấp nhất.
Cũng vì một thực tế là thằng cung cấp domain tốt thì dịch vụ VPS lại cùi, thằng cung cấp VPS tốt thì hiếm thấy cung cấp Domain có chăng là cho có mà thôi.
Chú ý cho mình.
Do khai báo nameserver bên ngoài, hệ thống của godaddy phải mất thời gian cập nhật thay đổi, thời gian khuyến cáo là 24 giờ nhưng thường chỉ 15-20phút là cùng thôi.
Trường hợp này quá trình phân giải tên miền diễn ra như sau:
1. Bước đầu tiên Client gửi yêu cầu truy cập đến example.com.
2. Giai đoạn này hệ thống của Godaddy sẽ không phải làm gì cả ngoài việc chuyển yêu cầu của Client sang cho ns.linode.com. Hệ thống của Godaddy gần như vô hình tốc độ truy vấn gần như là max.
3. Do được chỉ định làm nameserver cho example.com Linode sẽ thu thập các thông tin về domain này trước để lưu vào hệ thống của mình. Khi có truy vấn đến example.com nó biết ngay địa chỉ IP VPS là 1.2.3.4.
4. Ở giai đoạn này mặc dù không cần thay đổi file hosts VPS vẫn hiểu và phục vụ Client vì VPS dùng ns.linode.com để phân giải domain.
Phần này xong rồi đấy. Mua Domain/VPS/Hosting ở đâu giờ không còn quan trọng nữa chúc mừng bạn đã làm chủ hệ thống quản lý tên miền.
III. Kết luận.
Xong bài này các bạn đã hiểu được cách hoạt động của Domain, Nameserver để có cách cấu hình cho đúng.
Bạn đã tự trả lời được những câu hỏi “thầm kín” bấy lâu nay rồi
Đây là kiến thức cơ bản nhưng nó có ý nghĩa rất lớn trong triển khai hệ thống web. Nội dung bài viết mới đề cập đến một phần nhỏ của hệ thống quản trị tên miền DNS thôi có thời gian mình sẽ hướng dẫn các bạn triển khai hệ thống DNS hoàn chỉnh trên server.
Hẹn gặp lại ở bài viết tới, mong nhận được đóng góp ý kiến của các bạn.
Giờ mới hiểu rõ bản chất qua bài viết này 😀
Anh @thuy cho em hỏi em đang sử dụng domain tenten, VPS của Linode. Domain em đã trỏ IP và nameserver về linode , Mà em check trên who.is cũng gần 1 ngày rồi thấy vẫn chưa cập nhật nameserver, hiện tại nó vẫn ở cloudflare là sao anh nhỉ :v
Bạn vào trang quản trị VPS của Linode add thêm domain của bạn vào để tăng tốc việc cập nhật thay đổi trên hệ thống của Linode.
Có phải phần quản lý DNS này không anh ?
https://manager.linode.com/dns
Đúng rồi phần quản lý Dns đó
bài viết cực hay , viết rất đúng chỗ ngứa của mình khi tìm hiểu về VPS mà lại mơ hồ về việc chạy VPS có cần phải cấu hình Name server hay không , tìm vài ngày mới thấy bài viết này . Rất cám ơn tác giả <3
Thanks bạn ủng hộ.
Bài viết rất hay. Mình k phải dân web mà đọc bài này hiểu ra dc rất nhiều điều. Cám ơn bạn nhé
Cảm ơn bạn, lại có thêm động lực viết
ở chỗ TTL có nghĩa gì vậy
Đây là thời gian cache domian trên godaddy.
Ví dụ domain của bạn có IP 1.2.3.4 và TTL là 600s, nếu trong khoảng thời gian đó bạn đổi IP cho cho domain thì phải sau 600s thông tin IP mới mới được cập nhật.
xin cam on, bai viet kha hay