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. 52 comment

    Hi…. Luân ơi, web mình làm trên wordpress, mình muốn dùng plugin “hide my WP” nhưng mình không cài được do dùng trên Nginx, Luân hướng dẫn mình cài Plugin hide my Wp được không 🙂 thanks

  2. nam 1 comment

    mình dùng hocvps-script và thường xuyên bị lỗi này lúc được lúc không
    “Trang diadiemquynhon.vn hiện không hoạt động
    diadiemquynhon.vn không gửi bất kỳ dữ liệu nào.
    ERR_EMPTY_RESPONSE”

  3. luân 12 comment

    Mình đăng nhập vào hocvps-script bị lỗi như sau:

    “Server Connection Closed
    Description: The server requested closed the connection before the transaction was completed.”

  4. Dung 30 comment

    Bác cho e hỏi là em có 1 cái script. Cho lên ssh chạy ok. Cho vào hàm exec() thì không chạy. Mặc dù trong php.ini em đã xóa cái hàm exec và restart lại service rồi. Em test trên local host và sharehost chạy bình thường. Vậy chứng tỏ phần mềm chạy ok đúng k bác. Giờ làm sao để fix lỗi này ạ. Thank bác Luân trước nhé

  5. BizzaViet 2 comment

    Mình muốn chuyển https://bizzaviet.com sang server của DigitalOcean nhưng mình đang cấu hình SSL, vậy giờ mình chuyển thì cần phải làm những bước gì bác 🙁
    E hơi loạn chút 🙁 mong bác chỉ dẫn chi tiết

    1. Luân Trần Admin

      Bạn cài HocVPS Script sau đó chuyển site sang, tiếp theo cài đặt SSL là được. Đơn giản chưa 😀

  6. Anh Duc 3 comment

    Có cách nào tạo pass cho từng database ko Luân nhỉ?
    Hiện tại thì phải dùng chung user và pass đăng nhập Phpmyadmin.
    Và ko hiểu sao mình cài ok hết rồi, nhưng ko giải nên dc đuôi zip nhỉ?

      1. Anh Duc 3 comment

        Mình cài HocVPS Script, khi cài xong có tạo cho mình 1 pass đăng nhập vào phpmyadmin.
        Mình cũng thử các lệnh mysql, nhưng ko giải nén dc file zip, giải nén bằng filemanager thì báo lỗi.

        1. Luân Trần Admin

          Nếu dùng HocVPS Script thì bạn có thể chạy lệnh hocvps, rồi chọn chức năng số 8. Trong quá trình tạo database sẽ tạo luôn user tương ứng.

          Bạn dùng lệnh unzip file.zip để giải nén.

  7. Anh Ba 1 comment

    Mình đã cài đặt và chạy thành công website theo hướng dẫn của HocVPS. Cho mình hỏi mình muốn tạo email theo domain của mình trên VPS thì làm thế nào? Cảm ơn?

    1. Luân Trần Admin

      Để tạo email theo domain thì bạn tham khảo các service như Zoho, Yandex nhé.

  8. Duy Tran 2 comment

    Luân ơi cho mình hỏi .Mình cài xong HocVPS Script rồi ,mình vào phpmyadmin để tạo Database nhưng trong quá trình cài đặt HocVPS mình đâu có thấy thông tin nào của tài khoản root cho MySQL đâu ?

    Làm thế nào để đăng nhập vào phpmyadmin đây ?
    Mình làm theo hướng dẫn reset password MySQL root bấm hàm đầu tiên như theo L chỉ là “sudo /etc/init.d/mysql stop” thì nó báo không tìm thấy như thế này “sudo: /etc/init.d/mysql: command not found “

    1. Luân Trần Admin

      Bạn copy lại câu lệnh nhé, có vẻ nhập sai rồi. Thông tin mật khẩu của tài khoản root MySQL tự động generate trong quá trình cài, cài xong bạn sẽ nhận được đó.

      1. Thủy Văn 1 comment

        Dear Luân,
        Mình cài đặt xong HocVPS, mọi cấu hình đều bình thường,
        Nhưng khi mình mở Website lên thì nó ko hiển thị gì cả, toàn bộ màu trắng,
        Nhưng khi mình chạy 1 file Php có lệnh phpinfo() thì nó vẫn hiển thị thông tin bình thường.
        Phpmyadmin, vpsinfo… đều vào được.

        Bạn có thể có gợi ý nào giúp mình được ko? web của mình dùng joomla, php bản 5.3.1

        Cảm ơn bạn nhiều.

        1. Luân Trần Admin

          Có khả năng bị lỗi gì đó nên mới hiển thị trang trắng, bạn đọc error log của PHP xem có thông báo gì không?

  9. vuvanhon 5 comment

    Em mới đăng kí 1 cái VPS của Amazon, muốn dùng cho trang wordpress thì giờ cần làm những bước như nào? nên bắt đầu từ đâu? anh cho em vài gợi ý với. Em cảm ơn

  10. iceball 1 comment

    Cho hỏi hiện mình đang định mua gói vps thấp nhất 5$/ tháng của DO để chạy web , bạn cho mình xin link hướng dẫn các bước phải làm những gì để cấu hình vps để chạy đc ko nhỉ
    Mình xài php + apache .
    Và sau này nếu mình chuyển lên gói cao hơn thì có phải cấu hình lại từ đầu ko

      1. iceball 1 comment

        Giờ mình mua vps , bước đầu sẽ là cài môi trường sever để chạy phải ko nhỉ ?
        Mình mua vps linux thì sẽ cài centos nhỉ , bạn cho mình xin link hướng dẫn cài centos , mình vào cate centos của bạn mà ko thấy có 😀

        1. Luân Trần Admin

          Thường thì các nhà cung cấp có option cho bạn chọn là CentOS. Chọn OS nào nó tự cài cái đó thôi chứ ko cần thao tác gì khác.

  11. Tuan 1 comment

    Chao ad,
    Minh cai code hocvps cho website chinh http://hyo4.net/ thi ko co van de gi nhung den khi can website thu 2 http://hyo4.xyz thi bi loi “Error establishing a database connection” . Vao wp-admin thi nhan duoc thong bao nhu sau :
    “We were able to connect to the database server (which means your username and password is okay) but not able to select the hyo4.xyz database.

    Are you sure it exists?
    Does the user have permission to use the hyo4.xyz database?
    On some systems the name of your database is prefixed with your username, so it would be like username_hyo4.xyz. Could that be the problem?”

  12. Loc Pham 1 comment

    Chào anh, em setup 1 website trên vps vultr, setup theo bài hướng dẫn dùng HocVPS Script của anh. Web đầu tiên chạy bình thường. sau đó em vào menu của script để thêm 1 domain nữa. nhưng khi chạy website nó bị lỗi Error establishing a database connection. Anh giải quyết giùm em với ạ!

  13. Huy 1 comment

    Chào bạn, mình muốn cài Apache trên CentOS, nhưng gặp lỗi Couldn’t resolve host ‘mirrorlist.centos.org’. Mình có thấy bạn hướng dẫn sửa nội dung file /etc/resolv.conf, thêm nameserver 8.8.8.8
    nameserver 8.8.4.4

    Mình đã làm nhưng vẫn gặp lỗi. Mong bạn tư vấn giúp.

    1. Luân Trần Admin

      Thường là do VPS, nếu cách mình hướng dẫn không được bạn liên hệ nhà cung cấp hỏi nhé.

  14. VanTung 1 comment

    Chào ad, mong ad tư vấn cho newbie.
    Hiện tại mình đang dùng shared hosting để
    Chứa cái data cho cac ứng dụng điện thoại. Tuy nhiên do số người truy cập nhiều nên host chịu ko nổi. User khoảng 20k /ngày. Data khoảng 4mb cho 1 user tải về. Với khoảng như vậy mình cần thuê một vps bao nhiêu ram, băng thông bao nhiêu phù hợp . cám ơn admin nhiều !?

    1. Luân Trần Admin

      Nếu VPS để lưu trữ thì không quan trọng lắm về RAM, lưu ý dung lượng lưu trữ, băng thông và network nha bạn.

  15. Hoàng 9 comment

    Chào admin

    LEMP vs LAMP thì nên dùng cái nào ạ?
    Mình trước giờ chỉ dùng shared host, còn local host thì dùng xampp với appserv thôi. Phân vân quá

    1. Luân Trần Admin

      Xài VPS thì dùng LEMP bạn ạ. Apache giờ nặng nề quá ít người dùng rồi.

      1. Hoang 9 comment

        Cảm ơn ad,
        mình nghe nginx xa vời quá, nó khác apache nhiều không ạ?
        Mà MariaDB vs Mysql nó hoạt động giống nhau nhưng sợ cái phiên bản này cái phiên bản kia rồi nó loạn lên không ạ?

        1. Luân Trần Admin

          Nginx khác hoàn toàn Apache. Đã dùng VPS thì nên dùng Nginx nhé, dành thời gian ra tìm hiểu, cũng dễ thôi bạn ạ.
          MariaDB với MySQL thì tương tự nhau. Ko cần quan tâm lắm làm gì.

          1. Hoàng 9 comment

            Vâng. NginX nhanh hơn, ko hỗ trợ htaccess nên đỡ tốn tài nguyên và an toàn hơn.
            Vậy còn IIS là gì ạ? Nghe nhiều rồi mà mông lung quá ạ.

          2. Luân Trần Admin

            IIS cũng là server, nhưng chạy trên Windows. Thường dùng với code ASP.NET

  16. Huy 4 comment

    Chào, mình cài VPS bằng script tự động của hocvps, nhưng không thể upload file bằng trình soạn thảo Tinymce được, mình đã chỉnh cmode cho folder chứa hình ảnh là 777 nhưng vẫn không thể upload được. Mình nghĩ chắc phải cấu hình thêm web server hay gì khác nữa ? cảm ơn

    1. Luân Trần Admin

      Bạn check lại file owner là gì, nếu là root thì chạy chức năng Phân quyền webserver nữa nhé/

  17. Nguyễn Thắng 4 comment

    Chào bạn
    Mình dùng qua hosting,quản trị cpane
    Mình muốn dùng sever,tự học theo bạn có thể nắm quản trị cơ bản được với thời gian bao lâu

    1. Luân Trần Admin

      Quản trị cơ bản khó nói lắm, nó không có thước đó nên bảo xác định thời gian bao lâu mình chịu.
      Bạn tự tin tự cài được VPS LEMP tức là ngon rồi.

      1. Nguyễn Thắng 4 comment

        Mình đọc về lamp,theo bạn nên cài lamp hay lemp
        Và nếu cài Lamp rồi có cài lại được Lemp không
        Trước bạn bao lâu thì cài được sever
        Mình mới tìm hiểu vậy quản trị được sever khó không,đọc hướng dẫn là làm được chứ

        1. Luân Trần Admin

          Shared Hosting thì dùng Apache, còn dùng VPS thì nên sài LEMP nhé bạn.
          Nếu đang nghịch rồi thì Reinstall VPS cài lại LEMP cho nó máu. Trước mình học khó lắm, lấy đâu ra website hướng dẫn bằng tiếng việt tuyệt vời như https://hocvps.com/ thế này đâu. Admin cũng đẹp trai nữa.

          1. Nguyễn Thắng 4 comment

            he.thanks b nhiều nhé
            cho mình hỏi thêm là mình dùng trình quản lý cpanel cho hosting
            Vậy ở VPS thì dùng cái nào b nhỉ

  18. datecom 20 comment

    bác Luân cho hỏi: em cài xong script hocvps rồi nhưng mà muốn vào quản trị file qua ftp thì tạo tài khoản như thế nào bác nhỉ?

  19. tuan 4 comment

    No connection could be made because the target machine actively refused it.
    mình bị lỗi nay mong bạn giúp đỡ

  20. Tung 6 comment

    Chào ad, mình dùng hocvps cho web của mình.
    Mình add domain theo dạng domain.com.
    Sau đó mình vào Cài đặt wordpress—>setting để cài đặt tên miền theo dạng http://www.domain.com mà tải lại website thấy thông báo
    “Trang web này lặp lại chuyển hướng

    ERR_TOO_MANY_REDIRECTS”

    Bạn giúp mình cách khắc phục được không?

      1. Tung 6 comment

        ok thank Luan, cho mình hỏi là khi cài thêm plugin thì thấy có lỗi này là như thế nào nhỉ. Mình đã thử đăng nhập nhiều tài khoản như root, tài khoản cho database của site đó nhưng vẫn không được. Mong ad chỉ giúp. Lỗi như sau:

        Connection Information

        To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

        Hostname

        FTP Username

        FTP Password

        Connection Type

        FTP FTPS (SSL)
        Proceed

        1. Luân Trần Admin

          Bạn cần phân quyền cho webserver có quyền đọc ghi trên thư mục, nếu dùng HocVPS Script thì chọn chức năng số 14 nhé.

  21. vu nguyen 1 comment

    Luân cho hỏi, mình muốn cài đặt Mail Client và SMTP trên VPS welove CenOS 6 64bit thì có thể tham khảo bài nào được nhỉ, tìm mãi ko thấy. Hiện đã cài đặt xong phpadmin và FTP rồi. Cảm ơn Luân

  22. nhobaby 1 comment

    Bạn ơi cho mình hỏi, dữ liệu mình lưu trữ trên vps thì phía nhà cung cấp dịch vụ có thể truy xuất vào được không?

  23. Tung 6 comment

    Cho mình hỏi là cài xong Hocvps rồi thì làm gì nữa vậy. Newbie thỉnh giáo

  24. kenny 4 comment

    Bạn ơi cho mình hỏi là hocvps có cái file nginx như centminmod ko ạ dạng vậy /usr/local/nginx/conf/conf.d 🙂

  25. trung 15 comment

    mình bị lỗi với plugin xml-sitemap. “Since you are using Nginx as your web-server, please configure the following rewrite rules in case you get 404 Not Found errors for your sitemap:”

  26. trung 15 comment

    Mình dùng wordpress nhưng là chuyển từ host lên do vậy các plugin đã ghi vào .htaccess báo lỗi và không thể khởi động lại được nginx. có cách nào sửa các lỗi này không hay giờ phải tạo lại nginx nhỉ

    1. Luân Trần Admin

      WordPress mặc định chạy ngon với Nginx rồi, nên bạn không cần cài đặt thêm gì cả.

  27. trung 15 comment

    mình gặp vấn đề với file .htaccess khi dùng NGINX . không hiểu cách làm sao để file này hoạt động lại. xin bạn hướng dẫn cụ thể cho mình với.

    1. Luân Trần Admin

      Nginx không chạy .htaccess nhé. Bạn sử dụng code gì vậy? WordPress thì ko cần cấu hình thêm.

  28. Đỗ Trí 10 comment

    Chào Luân , bạn cho mình hỏi mình dùng Ubuntu thì chạy cái hoc vps cripts được không ? tại thấy ghi Cnetos hông ah

  29. Phước Ánh 1 comment

    Khi mình oder VPS ở các địa chỉ trên thì đã được cài đặt gì chưa ạ? Nếu em muốn bắt đầu với VPS thì em có cần phải có kiến thức về lĩnh vực nào trước không, như về lập trình hay gì khác ấy?

    1. Luân Trần Admin

      Khi bạn order xong 1 VPS, sẽ không có gì cho bạn sử dụng ngay cả. Muốn sử dụng làm webserver thì bạn sẽ phải tự cài đặt những thành phần cần thiết để chạy được. Nói chung sẽ cần nhiều kiến thức về Linux để sử dụng.