Cách kiểm tra Website trên VPS sống hay chết

Có nhiều bạn cài web xong nhờ mình kiểm tra web xem đã hoạt động được hay chưa. Mấy cái này dễ mà các bạn lười quá nên đành viết hướng dẫn.

Với một Website có mấy việc bạn cần kiểm tra.

  • Kiểm tra kết nối mạng đến VPS hay Hosting có thông hay không.
  • Kiểm tra dịch vụ (service) Webserver cài đã truy cập được từ Internet hay chưa.
  • Kiểm tra việc trỏ tên miền, đổi Nameserver nữa.

Xong các bước này chắc chắn bạn khoanh vùng được lỗi và có hướng xử lý.

Để làm được việc đó mình xẽ giới thiệu bộ 3 công cụ “đồ đá” thuộc dạng không thể thiếu. Mong rằng giúp cho cách bạn mới tìm hiểu học quản trị mạng máy chủ tốt hơn.

Cách kiểm tra website sống hay chết

1. Dùng Ping

Đầu tiên các bạn cần biết Ping là gì ?

Ping là công cụ kiểm tra kết nối mạng từ PC của bạn đến VPS/Hosting có thông suốt hay không, một công cụ huyền thoại rất nhiều người biết.

Cách sử dụng Ping vô cùng đơn giản, trên Windows mở CMD – Command Prompt bằng cách ấn phím  + R để mở RUN nhập vào cmd.

RUN CMD

Ấn OK rồi nhập lệnh.

ping domain
#Hoặc
ping ip-public-website

Trên Linux, sau khi SSH vào VPS bạn gõ lệnh Ping ngay mà không phải qua CMD.

Bên dưới là một lệnh Ping đến thuysys, ping thành công bạn sẽ thấy kết quả Reply trả về như hình bên dưới.

Ping còn giúp kiểm tra tốc độ website load nhanh hay chậm nhờ vào chỉ sô Time, time càng cao tốc độ mạng càng chậm.

Ping blog thuysys

Lệnh Ping thành công

Ping trả về kết quả Timeout nghĩa là đường truyền internet đến VPS/Hosting có vấn đề.

Với VPS bạn phải kiểm tra xem nó đã khởi tạo xong hay chưa. VPS được khởi tạo xong mà vẫn không Ping được có thể VPS của bạn bị treo không Boot được. Trong quá trình dùng VPS ở Vultr mình gặp một lần tình trạng VPS không start phải drop tạo lại VPS mới.

Ping thông là mạng thông, nhưng ngược lại thì không đúng, mạng thông nhưng chưa chắc Ping đã được.

VPS chạy và được cấp IP Public thành công mà vẫn không Ping được thì phải kiểm tra Firewall.

Một con VPS hoạt động thường sẽ bị cản lọc của ít nhất 2 lớp tường lửa (Firewall), mình ví dụ như VPS ở Vultr, VPS ở đây có đến 3 lớp Firewall.

Lớp Firewall đầu tiên mình gọi là.

Local Firewall là firewall mềm trên chính VPS đó. Phổ biến nhất vẫn là UFW, FirewallD, Iptables. Bạn cần kiểm tra lại tường lửa trên VPS của mình hoặc tạm thời Disable nó đi.

Global Firewall là lớp thứ hai, một tài khoản có thể tạo được nhiều VPS, firewall này dùng để quản lý toàn bộ VPS trên một tài khoản bất kỳ. Bạn login vào trang quản lý tài khoản để kiểm tra lại, nếu bị chặn thì add thêm rule để allow gói tin ICMP đi từ bên ngoài tới VPS là Ping được.

External Firewall, mình gọi những firewall lớp ngoài cùng là External vì chẳng biết nó có bao nhiều firewall bên ngoài. Minh chứng rõ ràng nhất cho sự tồn tại của lớp firewall này là ở Vultr họ chặn port 25/SMTP của toàn bộ VPS trên hệ thống. Vultr không cho VPS của bạn gửi mail ra ngoài.

Tuy nhiên lớp External thường allow những giao thức phổ biến nhất ICMP,DNS… nên khi dùng Ping kiểm tra kết nối bạn không cần phải check lớp này. Chỉ cần kiểm tra lớp Local và Global là được, nếu không xong thì còn cách ăn vạ support thôi :).

2. Dùng Telnet

Công cụ thứ 2 bạn cần dùng là Telnet, nó thuộc diện nhỏ con nhưng có võ.

Dùng Ping kiểm tra kết nối mạng OK  mà vẫn không vào được website bạn phải dùng thêm công cụ nữa để kiểm tra dịch vụ (service) Webserver có đang chạy hay không, telnet sẽ giúp chúng ta kiểm tra việc này.

Telnet hoạt động thế nào ?

Bất cứ một service nào chạy đều phải listening trên một port nào đó, với Webserver là Port 80. Nhiệm vụ của telnet sẽ tạo một connection đến Port 80, nếu tạo được connection là Webserver đang chạy.

Cách thức kiểm tra chỉ có thế vậy, giờ chúng ta đi vào cụ thể.

Thông thường Telnet không được cài sẵn trên Windows hay Linux, bạn phải cài thêm vào.

Cài Telnet trên Windows 7/8/10

Vào Control Panel -> Programs and Features -> Turn Windows features on or off

Rồi chọn cài Telnet Client như hình bên dưới.

Cách cài Telnet trên Win

Cài Telnet trên Windows

Cài Telnet trên Linux

Cũng đơn giản không kém.

CentOS

yum install telnet

Ubuntu

apt-get install telnet

Cách dùng Telnet như sau, do hầu hết đều làm việc trên Windows nên mình chỉ nói cách dùng trên Windows nhá. Bạn mở CMD lên rồi gõ lệnh.

telnet 139.162.36.70 80
#Hoặc 
telnet thuysys.com 80

Trong đó 139.162.36.70 là IP của thuysys.com, 80 là Port của Webserver (NGINX, Apache).

Muốn kiểm tra service khác bạn làm tương tự. Ví dụ muốn kiểm tra SSH, FTP truy cập được từ Internet hay chưa chỉ cần Telnet đến Port 22 hoặc 21. Nếu kết quả trả về như bên dưới là dịch vụ đã cài thành công.

Dùng Telnet trên Windows

Những lầm tưởng về cách sử dụng Telnet

Có nhiều người hỏi cách cài Telnet để nhận gửi email, dùng Telnet up/down dữ liệu lên FTP Server…

Mình chốt hạ thế này, Telnet trên PC của các bạn nó là một phần mềm Client nó chỉ có vài cái tham số c, o, d, q, sen, set, st, ?/h thế thôi, ý nghĩa các tham số bạn mở help Telnet xem.

Cho nên Telnet không thể gửi nhận email hay truyền file được.

Telnet chỉ có chức năng tạo kết nôi. Nó gửi nhận email hay truyền file được là do cái service mà nó connect tới hỗ trợ làm việc đó. Nếu bạn Telnet đến Port 25/SMTP thì bạn có thể dùng lệnh MAIL FROM, RCPT TO để gửi email, còn Telnet đến Port 80/HTTP bạn chỉ có thể thực hiện lệnh GET, POST thôi.

Một số lưu ý ở trên bạn cần chú ý.

Tiếp theo là công cụ hữu ích khác, rất cần thiết khi bạn chạy website.

Nó giúp bạn kiểm tra tiên miền có được trỏ đúng hay không, đổi nameserver đúng hay chưa. Bạn nào thường xuyên chuyển Website sang Hosting hay VPS mới sẽ phải cần dùng đến nó nhiều đó.

3. Dùng NSlookup

Dùng NSLookup thế nào ?

Thêm một công cụ nhỏ xinh khác, công cụ này giúp ta kiểm tra phân giải tên miền (Domain) nhanh chóng. Giúp bạn kiểm tra được phân giải thuận từ Domain -> IP và phân giải ngược từ IP -> Domain.

Mình dùng thấy có CentOS là không cài mặc định công cụ này, còn Ubuntu hay Windows đều có sẵn rồi bạn chỉ dùng thôi.

Cài nslookup trên CentOS

yum install bind-utils

Cách dùng nslookup trên Linux hay Windows là như nhau, để kiểm tra phân giải một domian nào đó bạn gõ lệnh.

nslookup thuysys.com

Kết quả.

Dùng nslookup trên Win và Linux

Kết quả như trên là đúng với thuysys vì blog của mình đang chạy trên VPS của Linode có IP là:

#IPv4
139.162.36.70
#IPv6
2400:8901::f03c:91ff:fef1:d1f9

Và nameserver của Linode để phân giải

li1449-70.members.linode.com

Từ đây bạn dễ dàng bắt bệnh website, kết quả không ra đúng IP VPS của bạn có nghĩa là bạn trỏ domain hoặc đặt Nameserver không đúng, hoặc hệ thống DNS của nhà cung cấp chưa kịp cập nhật.

Thông thường những domain mới mua, lần đầu trỏ domain sẽ mất tầm 5-10 phút là cập nhật thay đổi. Còn với domain đang dùng mà trỏ lại sang IP mới đổi cả nameserver có thể mất đến 1h-2h.

Mình dùng domain trên GodaddyNamecheap thấy thời gian update thay đổi khá nhanh, còn bạn mua domain ở chỗ khác thì hên xui có khi mất vài ngày là bình thường.

4. Kết bài

Ở trên là 3 công cụ mình thường xuyên dùng để kiểm tra một trang web được setup ban đầu đúng hay không.

Các công cụ giúp bạn khoanh vùng được lỗi khi xảy ra, nếu tất cả các bước kiểm tra trên mà ok hết thì chắc chắn lỗi do cấu hình trong chính Webserver, bạn cần tập trung xem lại config webserver hoặc tiếp tục ăn vạ bọn support :).

Ngoài ra bạn có thể tham khảo thêm một số công cụ kiểm tra kết nối mạng và DNS online cũng rất tốt là:

Vì đôi khi PC dùng để kiểm tra bị lưu cache DNS bạn không flush được kết quả cho ra không đúng, bạn nên kết hợp thêm công cụ kiểm tra web online này cho chắc chắn.

Tham khảo thêm: Lỗi hay gặp khi dùng VPS

Có một vài công cụ chia sẻ với mọi người, ai có công cụ nào ngon hơn thì share anh em cùng học tập với.

Mình dừng bài ở đây, bye mọi người.

One Response

  1. The Wind June 30, 2017 Reply

Leave a Reply