Bạn mới tìm hiểu về VPS và chưa biết bắt đầu từ đâu? Hãy yên tâm đọc bài này vì bạn đã đến đúng nơi cần đến rồi đó.

hocvps banner

Đầu tiên bạn cần hiểu được VPS khác biệt rất nhiều so với shared hosting. Với VPS bạn sẽ phải cài đặt toàn bộ mọi thứ từ webserver đến PHP, MySQL để website có thể hoạt động được. Do đó, bạn sẽ cần một số kiến thức kỹ thuật nhất định để sử dụng.

Trong trường hợp bạn không có điều kiện về thời gian, kiến thức kĩ thuật mà muốn sử dụng VPS, hãy tham khảo Dịch vụ cài đặt VPS của Học VPS.

I. Đăng ký VPS

Nếu bạn muốn VPS có chất lượng tốt, ổn định hãy lựa chọn một trong số các nhà cung cấp sau:

  1. Vultr chọn location Japan hoặc Singapore
  2. Digital Ocean chọn location Singapore hoặc San Francisco
  3. Linode chọn location Japan hoặc Singapore
  4. Ramnode chọn location Los Angeles hoặc Seattle

II. Tìm hiểu các kiến thức căn bản

Sau khi đăng ký xong VPS ở một trong số các nhà cung cấp trên, các bạn cần nắm được các câu lệnh SSH căn bản dùng để thao tác trên Linux.

Do toàn bộ thao tác cài đặt VPS thông qua dòng lệnh console, nên tất nhiên bạn cần phải biết cách dùng ZOC Terminal kết nối VPS, hoặc sử dụng PuTTY cũng được. Dùng ZOC hay hơn vì bạn có thể copy/paste thoải mái. Mình đang dùng công cụ này.

Tiếp theo tìm hiểu về một số Control Panel được giới thiệu trên Học VPS, cũng như tìm hiểu khái niệm LEMP, LAMP (2 loại webserver phổ biến nhất hiện nay).

Thông thường khi sử dụng shared hosting bạn sẽ có thông tin FTP để upload dữ liệu, tuy nhiên VPS thì khác, nếu muốn dùng FTP thì bạn phải cài thêm service vào. Tuy nhiên, bạn có thể sử dụng tài khoản root để upload dữ liệu thông qua giao thức sFTP, chậm hơn FTP một chút nhưng bù lại không phải cài thêm service, tiết kiệm RAM cho VPS.

VPS có một lệnh rất hay bạn nên biết đó là wget, cho phép bạn download trực tiếp file về server. Do đó, nếu bạn đang có file có direct link, hãy sử dụng công cụ này thay vì download xuống rồi up lên rất mất thời gian.

Đôi lúc sau khi cài đặt xong các service, bạn cần phải điều chỉnh lại file cấu hình để hoạt động ổn định hơn theo đúng nhu cầu. Để thực hiện việc này, bạn có thể kết nối sFTP download file xuống rồi sửa bằng Notepad, hoặc sử dụng nano editor để chỉnh sửa ngay trên server.

Cuối cùng là một số câu lệnh Linux bắt buộc phải nhớ trước khi tiến hành xây dựng VPS.

III. Xây dựng VPS

Sau khi chuẩn bị đủ các kiến thức căn bản (hoặc chuẩn bị sơ sơ cũng được vì khi cài đặt thực tế bạn sẽ hiểu rõ hơn), chúng ta sẽ bắt tay vào xây dựng VPS.

Đầu tiên, một việc bắt buộc nên làm mỗi khi bạn tạo mới VPS đó là kiểm tra swap đã kích hoạt chưa. Đây là một dạng bộ nhớ ảo chức năng tương tự RAM nhưng sử dụng ổ cứng để lưu trữ. Tác dụng của swap là để tăng thêm bộ nhớ cho server. Nếu VPS của bạn sử dụng ổ cứng SSD, chưa tạo swap thì hãy tham khảo ngay bài hướng dẫn cài đặt swap trên CentOS hoặc trên Ubuntu. Nhớ là ổ cứng SSD hoặc có tốc độ I/O cao thì mới dùng làm swap được nhé, nếu không sẽ làm giảm performance hệ thống.

Có 2 cách để cài đặt VPS đó là cài đặt tự động và cài đặt thủ công từng service một.

1. Cài đặt tự động VPS

Trong cài đặt tự động cũng có nhiều kiểu khác nhau, cài đặt cả hệ thống control panel có thể quản lý user, reseller, client tương tự như cPanel hoặc cài đặt tự động thông qua các bash script được một số cá nhân tự chế (trong đó có mình với HocVPS Script).

Đặc điểm chung của việc cài đặt tự động đó là quá trình cài đặt rất dễ dàng, nhanh gọn. Bạn chỉ cần chạy 1 vài câu lệnh, nhập một số thông tin căn bản cần thiết vào rồi ngồi uống cafe chờ nó tự cài đặt từ đầu đến cuối là xong.

Cài đặt cả control panel thì bạn dễ dàng sử dụng hơn do có giao diện trực quan nền web, tuy nhiên điểm yếu nó mang lại đó là việc phải cài đặt nhiều thành phần khác nhau dẫn đến tốn RAMcác vấn đề liên quan đến bảo mật do việc tự động cài đặt gây ra. Lời khuyên của mình là chỉ nên cài các control panel này để chơi cho biết, chứ không nên sử dụng lâu dài.

Một số control panel nổi bật hiện nay như: Zpanel, Vesta Control Panel hoặc Kloxo-MR.

Một số script tự động cũng rất nổi bật như: HocVPS Script (nổi bật nhất luôn), VPSSIM hoặc Centmin Mod

Mình khuyến khích các bạn sử dụng HocVPS Script vì script này chỉ cài đặt các thành phần bắt buộc phải có với mỗi webserver, không cài thêm các service không cần thiết khác, đảm bảo tiết kiệm RAM nhất và không sợ các vấn đề bảo mật. Ngoài ra, có thể tham khảo thêm VPSSIM, cũng là bash script nhưng cài đặt sẵn khá nhiều service, tốn tài nguyên hệ thống hơn.

2. Cài đặt thủ công VPS

Cài đặt thủ công tuy bạn phải tự mày mò cài đặt từng service, tối ưu từng cái rất tốn thời gian, tuy nhiên bù lại bạn sẽ học hỏi được nhiều điều nhất.

Với những ai đang muốn bước chân vào thế giới VPS, thì mình khuyên nên mày mò tự cài đặt một webserver như LEMP hoặc LAMP, sau khi đã nắm rõ rồi hãy chuyển qua các script cài đặt tự động.

Mình có 2 bài hướng dẫn để các bạn tham khảo ở đây:

  1. Cài LEMP trên CentOS, webserver là nginx nên tốc độ và hiệu suất cao hơn so với Apache.
  2. Cài LAMP trên CentOS cho những bạn đã quen với Apache hoặc code có nhiều rule htaccess.

IV. Một số kiến thức cần thiết khác

Đây là những kiến thức cao cấp hơn, không sử dụng thường xuyên nhưng bạn cũng nên biết khi quản trị VPS.

1. Các thao tác với database

Thông thường bạn có thể tạo database và user thông qua phpMyAdmin với tài khoản MySQL root, tuy nhiên, cách truyền thống vẫn là thông qua dòng lệnh.

Tạo mysql user và database bằng lệnh

Các câu lệnh MySQL cần phải biết

Reset MySQL root password

Và còn nhiều bài viết hướng dẫn khác nữa trong chuyên mục Database

2. Tối ưu server

Khi đã có VPS hoạt động ổn định rồi thì việc tiếp theo chúng ta cần quan tâm đó là tối ưu để hoạt động tốt hơn. Một số bài viết các bạn nên tham khảo như:

– Cấu hình tối ưu cho VPS sử dụng HocVPS Script (chỉ với 2GB RAM chịu tải được hơn 4.600 người online)

– Sử dụng Varnish

Tối ưu LEMP server hoặc LAMP server.

– Tối ưu MySQL Query Cache

Tối ưu PHP với Zend OPcache

Cache database với memcached

Tăng tốc Nginx web server với Pagespeed

3. Sao lưu server

– Backup VPS với Duplicity

4. Một số package cần thiết khác

phpMyAdmin trên CentOS hoặc Ubuntu

Email

Hi vọng với bài viết tổng hợp này, các bạn đã có định hướng rõ ràng hơn để bắt đầu sử dụng VPS. Mọi băn khoăn thắc mắc vui lòng để lại comment bên dưới, mình sẽ trả lời cẩn thận.

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

420 Comments

  1. Quang 1 comment

    Hi anh, cho em hỏi em sử dụng menu 13 Thêm redirect domain để redirect domain.com sang domain.vn, em mua 2 domain và đã trỏ cả 2 domain về ip vps, truy cập domain.vn hoạt động nhưng truy cập domain.com báo This site can’t be reached. Em check trong file domain.com.conf thấy cấu hình đúng, ko biết là lỗi gì vậy anh nhỉ.

  2. thắng 1 comment

    Admin ơi, em có cài đặt xong VPS nhưng vô tình quên lưu mọi thứ thông tin của VPS
    Admin có thể chỉ em chi tiết làm cách nào để vào /root/hocvps-script.txt
    em xin chân thành cám ơn admin

  3. Nam 1 comment

    Em vừa cài xong trên ubuntu, xong vào đổi password phpmyadmin nó báo Connect failed. Xử lý như nào ạ

  4. Mít Tơ Gà 6 comment

    VPS mình là Ubuntu 18.04 mà không cài được HọcVPS. Không hiểu lỗi gì.

  5. congnguyen 1 comment

    e cài hocvps mà k muốn dùng worpres mà muốn dùng công cụ khác để up code php lên đc k ạ

    1. Học VPS Admin

      Chào bạn

      Khi cài đặt hocvps script mà không muốn sử dụng tự động cài đặt wordpress thì khi dùng menu Thêm domain bạn có thể chọn tùy chọn số 1 nhé

  6. Kani John 1 comment

    Ad có video hướng dẫn chi tiết, quay màn hình nhìn trực quan hơn không a? Bài viết nhiều thuật ngữ quá mới với người mới bắt đầu học VPS quá.

  7. Phong 1 comment

    Bạn ơi, mình mới cài HocVPS Script và đã up web lên chạy bình thường nhưng các trang con không chạy được vì file htaccess không dùng được.
    Mình có copy toàn bộ nội dung của file htaccess rồi convert sang ningx bằng công cụ https://winginx.com/ và đưa vào file domain.com.conf trong thư mục conf.d nhưng không được, bạn có thể hướng dẫn mình khúc này được không?
    Mình cảm ơn nhiều.

  8. Phieu 8 comment

    Có ai sử dụng vps google hôm nay bị lỗi 500 khi truy cập vào cpanel không, các link filemanager vẫn hoạt động bình thường, tuy nhiên vào cpanel thì lỗi 500, và khi login trên puty thì báo là Server Refused our key, ai biết cách khắc phục không ạ.

  9. Thành 14 comment

    Không biết anh Luân đã có kế hoạch update PHP chưa nhỉ, mấy plugin em dùng đăng bắt php7.2 hết rồi. Mong được hồi đáp từ admin

  10. Nguyen 16 comment

    Chào ad, có cách nào cảnh báo về emai hay bất cứ thứ gì khi vps bị die hoặc cpu load 100% ko ạ

  11. ihoan 1 comment

    Xin chào. mình có 1 lổi rất kỳ lạ khi chuyển code qua VPS của Vultr. Tang web của mình có doamin là caodem.com, khi ping caodem.com thì nó trỏ về một địa chỉ ip khác không phải là địa chỉ ip của VPS. nhưng ping http://www.caodem.com thì lại trỏ về địa chỉ ip của VPS. Mình đang sử dụng DNS của cloudfire. Không biết có phải do lỗi này không mà web mình có điện thoài và máy tính vào được mà có cái lại không. Trong nhà mình, mình và vợ mình vào web bằng đt thì vô tư. nhưng đt mẹ mình vào web thì nó lại load mãi không vào. Không biết vấn đề này là do lỗi gì ạ?

  12. Nguyen Khanh 2 comment

    Mình thấy trên website đề xuất VPS từ Vultr, DigitalOcean, Linode, Ramnode là những nhà cung cấp host lớn. Tuy nhiên, bạn mình thì kêu tìm hiểu về AWS của Amazon nó cho sử dụng free trong 12 tháng, tuy nhiên mình mới bắt đầu nên không biết dịch vụ của Amazon có khác biệt gì so với 4 thằng kia không? Ai biết giải đáp giúp mình với. Thanks

  13. Khanh Nguyen 2 comment

    Chào admin, mình đang muốn học và tìm hiểu về VPS, nhưng chưa biết bắt đầu từ đâu, ad có tài liệu hoặc bài viết nào viết nào thống kê từ cơ bản đi lên để mình dễ nắm hơn không? Cám ơn.

    1. Việt Phương Moderator

      Mình vào thấy bthg. Còn check thì phải kiểm tra các service trong VPs mới biết, như Nginx PHP-FPM MySQL

  14. le minh dong 1 comment

    chao admin, ban cho minh xin link iso win 7 64bit de kich hoat vps voi, minh gui mail ho tro den gio van chua nhan dc mail phan hoi tu admin

  15. ngophuc 1 comment

    chào adm cho em hỏi bên mình nhận cài đặt vps để chạy game onl 3d ko ạ niếu có cho em cái sdt hoặc alo vào số đt của em ạ 0365570081 em chưa biết cách chạy vps để game đc onl ạ mong adm hộ trợ em với fb theo số đó luôn ạ

  16. My Nguyen 1 comment

    Chào admin cho mình hỏi vs ạ, hic kỹ thuật mình ko rành lắm nhưng theo tìm hiểu thì mua VPS tốc độ và ổn định hơn sharing hosting phải ko ạ? Nếu bên mình ko có kỹ thuật quản lý thì có nên mua không? Anh/chị có thể giới thiệu giúp em một số địa chỉ mua VPS nào ok ko ạ? Em xin cám ơn trc ạ

    1. Việt Phương Moderator

      Nếu bạn không có kỹ thuật quản lý thì nên học trước khi sử dụng vì VPS khó quản lý hơn Hosting nhiều
      Thời gian đầu thử dụng bạn có thể test trên Vultr, Linode hoặc Digital Ocean

  17. Thang ngo Nguyen 44 comment

    Hj Luân, Tại sao vps của mình 2 hôm nay chết 2 lần, restart ko đc mình restore toàn bộ nên mất dữ liệu của mấy web? không biết lỗi của vps hay hocvps hay lỗi gì Luân nhỉ?

    1. Việt Phương Moderator

      Lỗi thông báo như thế nào chứ mô tả của bạn chugn chung quá
      Chết và service nào có vấn đề

      1. nguyen ngoc thang 44 comment

        m ticket thì vultr bảo vào var/log/messages xem thông báo lỗi như thế này:
        Feb 16 11:38:01 gtdeco syslog-ng[429]: Configuration reload request received, reloading configuration;
        Feb 16 11:48:01 gtdeco syslog-ng[429]: Log statistics; processed=’destination(d_spol)=0′, processed=’src.internal(s_sys#2)=7′, stamp=’src.internal(s_sys#2)=1550291881′, processed=’center(received)=7′, processed=’destination(d_mesg)=150′, processed=’destination(d_mail)=0′, processed=’destination(d_auth)=124′, processed=’destination(d_mlal)=0′, processed=’center(queued)=295′, processed=’src.none()=0′, stamp=’src.none()=0′, processed=’destination(d_cron)=18′, processed=’global(payload_reallocs)=6′, processed=’global(sdata_updates)=0′, processed=’destination(d_boot)=1′, processed=’destination(d_kern)=2′, processed=’global(msg_clones)=0′, processed=’source(s_sys)=7′
        Feb 16 11:58:01 gtdeco syslog-ng[429]: Log statistics; processed=’destination(d_spol)=0′, processed=’src.internal(s_sys#2)=8′, stamp=’src.internal(s_sys#2)=1550292481′, processed=’center(received)=8′, processed=’destination(d_mesg)=151′, processed=’destination(d_mail)=0′, processed=’destination(d_auth)=206′, processed=’destination(d_mlal)=0′, processed=’center(queued)=380′, processed=’src.none()=0′, stamp=’src.none()=0′, processed=’destination(d_cron)=20′, processed=’global(payload_reallocs)=7′, processed=’global(sdata_updates)=0′, processed=’destination(d_boot)=1′, processed=’destination(d_kern)=2′, processed=’global(msg_clones)=0′, processed=’source(s_sys)=8′
        Feb 16 12:01:01 gtdeco systemd[1]: Started Session 2 of user root.
        Feb 16 12:01:01 gtdeco systemd[1]: Starting Session 2 of user root.
        Feb 16 12:08:01 gtdeco syslog-ng[429]: Log statistics; processed=’destination(d_spol)=0′, processed=’src.internal(s_sys#2)=9′, stamp=’src.internal(s_sys#2)=1550293081′, processed=’center(received)=9′, processed=’destination(d_mesg)=154′, processed=’destination(d_mail)=0′, processed=’destination(d_auth)=231′, processed=’destination(d_mlal)=0′, processed=’center(queued)=411′, processed=’src.none()=0′, stamp=’src.none()=0′, processed=’destination(d_cron)=23′, processed=’global(payload_reallocs)=8′, processed=’global(sdata_updates)=0′, processed=’destination(d_boot)=1′, processed=’destination(d_kern)=2′, processed=’global(msg_clones)=0′, processed=’source(s_sys)=9′
        Feb 16 12:17:03 gtdeco systemd[1]: Started Session 3 of user root.
        Feb 16 12:17:03 gtdeco systemd-logind[425]: New session 3 of user root.
        Feb 16 12:17:03 gtdeco systemd[1]: Starting Session 3 of user root.
        Feb 16 12:18:01 gtdeco syslog-ng[429]: Log statistics; processed=’destination(d_spol)=0′, processed=’src.internal(s_sys#2)=10′, stamp=’src.internal(s_sys#2)=1550293681′, processed=’center(received)=10′, processed=’destination(d_mesg)=158′, processed=’destination(d_mail)=0′, processed=’destination(d_auth)=245′, processed=’destination(d_mlal)=0′, processed=’center(queued)=432′, processed=’src.none()=0′, stamp=’src.none()=0′, processed=’destination(d_cron)=26′, processed=’global(payload_reallocs)=9′, processed=’global(sdata_updates)=0′, processed=’destination(d_boot)=1′, processed=’destination(d_kern)=2′, processed=’global(msg_clones)=0′, processed=’source(s_sys)=10′
        Feb 16 12:18:03 gtdeco systemd[1]: Started Session 4 of user root.
        Feb 16 12:18:03 gtdeco systemd-logind[425]: New session 4 of user root.
        Feb 16 12:18:03 gtdeco systemd[1]: Starting Session 4 of user root.
        b xem giúp m lỗi này thì khắc phục thế nào để ko bị hỏng vps nữa nhỉ 🙁

        1. Việt Phương Moderator

          Log kia không rõ vấn đề gì rồi. Vậy vấn đề của bạn là VPS không truy cập được qua SSH hay sập 1 service nào đó liên quan đến web?

  18. Tung 3 comment

    Nếu có thể phân chia được theo từng bước thì hay rồi ví dụ như bước 1 mua vps, bước 2 cài vps script, bước 3 cài gì đó… ví dụ như vậy.

    Nếu có chắc cho ngàn like luôn quá!

  19. Nguyễn Trum 2 comment

    Hi: Xin chào admin.

    Cho mình hỏi: Không muốn Xây dựng VPS

    Cài luôn WHM đúng không bạn? Cài WHM (giao diện nhưng tốn Tài nguyên Server) thì khỏi cài VPS Script đúng không (bằng dòng lệnh).

    Mình mới tìm hiểu nên hơi gà mờ. Mong admin giúp đỡ.

    Cảm ơn.

    1. Việt Phương Moderator

      Thực ra WHM hay Stack Script đều là xây dựng và cấu hình VPS thôi. WHM hay như các Control Panel khác là có giao diện trực quan trên nền web và nhiều công cụ hỗ trợ trực tiếp nên phù hợp với nhiều người mới bắt đầu hoặc không quá chuyên môn