Hiện tại có rất nhiều hướng dẫn cấu hình để có thể tạo được VPS chịu tải lớn trên mạng thông qua load balancing, optimize các services… Hôm nay, mình sẽ hướng dẫn các bạn một cách khác sử dụng kết hợp HocVPS Script, Zend Opcache, Memcache để có thể xây dựng được VPS có thể chịu được hàng nghìn người online cùng lúc.
Mình đã thử cài đặt VPS ở Vultr với gói 0.022$/giờ ~ 15$/tháng, 2 CPU, 2GB RAM thấy có lúc online đến 4k (theo thống kê Google Analytics) vẫn chạy ổn. Tiếc là ko có điều kiện test lâu dài xem thực tế sức chịu đựng của VPS như thế nào.
Hình ảnh chụp lúc online 4.363 người ngày 12/11/2014, đo bằng Google Analytics, site tin tức bằng WordPress:
Số lượng người online nhiều như vậy nhưng chỉ sử dụng hết 20% CPU, RAM còn thừa rất nhiều, nếu hoạt động hết công suất không biết lên đến mấy k online nữa 🙂
Nội dung bài viết
1. Cài đặt HocVPS Script
Sử dụng HocVPS Script bạn sẽ được tự động cài đặt và tối ưu LEMP server trên CentOS. Trước khi tiến hành cài đặt, nhớ chọn hệ điều hành CentOS, location Japan ở Vultr để có tốc độ về Việt Nam nhanh nhất.
Ngoài ra bạn nên tạo thêm swap 1GB cho VPS (thường swap gấp đôi hoặc ~ RAM)
Các bước cài đặt thực hiện tương tự như hướng dẫn cài đặt HocVPS Script.
2. Cài đặt Zend Opcache
Mục đích sử dụng Zend OPcache để tối ưu và tăng tốc PHP, điều này đặc biệt quan trọng và bắt buộc phải cài với những VPS có số lượng người online lớn. Qua đó giảm thiểu hoạt động của CPU và giảm đáng kể số lượng RAM mà PHP sử dụng.
HocvPS Script đã tự động cài đặt Zend OPcache giúp bạn, giờ chỉ cần điều chỉnh lại các tham số cho phù hợp với nhu cầu sử dụng của bạn mà thôi.
Bạn hãy theo dõi tình hình thực tế khi chạy VPS với 1 trình web viewer, ví dụ opcache-gui (server cài HocVPS thì đường dẫn là http://domain.com:port/op.php). Tăng hoặc giảm bộ nhớ làm sao giữ cho memory usage <= 70% là ổn, bộ nhớ còn trống sẽ được dùng cho các việc khác.
3. Cài đặt Memcached
Memcached mình sử dụng để cache query database, object và page cache. Thông thường, các dữ liệu trên thường được cache bằng cách sử dụng disk, nhưng memcached lưu thông tin trên RAM nên hiệu suất và tốc độ được tăng lên rất nhiều.
Các bạn thực hiện theo như hướng dẫn cài đặt memcached. Trong phần Cấu hình Memcached lưu ý tăng thông số MAXCONN="1024"
thành MAXCONN="10240"
# nano /etc/sysconfig/memcached
PORT="11211" USER="memcached" MAXCONN="10240" CACHESIZE="128" OPTIONS="-l 127.0.0.1 -U 0"
Tương tự như Zend OPcache bên trên, bạn nên sử dụng tool theo dõi phpMemcachedAdmin, điều chỉnh đảm bảo cho bộ nhớ <= 70%, tránh việc thừa quá nhiều RAM (như blog Học VPS do chỉ là WordPress nên dành 64MB RAM cho memcached).
Ở bước cuối bạn không cần thiết phải cài plugin WP-FFPC cho WordPress vì chúng ta sẽ sử dụng plugin W3 Total Cache như hướng dẫn bên dưới.
4. Cấu hình W3 Total Cache
Để đảm bảo mọi thứ hoạt động trơn tru, các bạn hãy sử dụng plugin W3 Total Cache. Bình thường mình vẫn hay sử dụng plugin WP Super Cache vì nó đơn giản, dễ dùng và cũng rất hiệu quả (Canh Me hiện đang dùng). Tuy nhiên khi đã sử dụng đến Memcached, bạn bắt buộc phải chuyển qua W3 Total Cache hoặc WP-FFPC.
Sau khi cài đặt xong plugin, các bạn hãy kích hoạt Page Cache, Database cache và Object Cache sử dụng method là Memcached. Ngoài ra, cũng cần kích hoạt Browser Cache và CDN nếu có thể.
Hãy nhấn vào từng mục để có thể cấu hình chi tiết cụ thể hơn.
Hi vọng, với bài viết này các bạn sẽ có thể tự build được 1 VPS chịu tải tốt. Đừng quên để lại comment bên dưới thông báo kết quả bạn đạt được sau khi thực hiện nhé.
Một vấn đề nữa mình muốn hỏi AD:
Mình muốn thêm một tài khoản Admin và group nginx để có quyền truy cập full folder /home/
Có thể truy cập qua ssh và ftp như của DirectAdmin được không AD ?
Như thế mình sẽ dễ dàng quản lý dữ liệu hơn… cũng như việc upload hay chỉnh sửa file trực tiếp bằng các software.
Cái này đơn giản, bạn dùng lệnh add user và gán group trong CentOS là ok.
Lưu ý sau không để backlink 18+, cảnh cáo lần 1!
Cài hocvps có cho phân quyền kiểu như chia host , package cho người khác dùng mà người khác dùng 1 cách an toàn như sentora không Luân.
cho mình hướng dẫn với. thấy chạy hocvps nhẹ nhàng hơn sentora.
Script không hỗ trợ điều này nhé bạn 😀
Cảm ơn Luân đã comment, vậy cho mình hỏi có cách nào vừa dùng script vừa phân quyền cho việc trên không, hay là mình phải chơi control panel mới phân quyền trên đc, 🙂
Nếu muốn sử dụng như vậy bạn phải dùng các control panel rồi mới phân quyền được.
Chào AD vấn đề bị lỗi mình đã xử lý hoàn tất… Nhưng còn them domain thứ 2 thì phân quyền không đúng… nên website bị báo lỗi: No input file specified.
Mong AD hướng dẫn cách phân quyền ạk.. mình kg biết cách thêm quyền..
Bạn chạy lệnh hocvps rồi chọn chức năng số 14, Phân quyền Webserver là ok.
Mình bấm biết mấy lần rồi đó bạn… Nhưng nó lạ ở chỗ… Nếu mình cài mới WP thì ok.. còn dùng DB Retore thì nó bị như vậy: No input file specified
AD giúp mình xử lý vấn nạn này xem…
Domain add đầu tiên thì ok.. còn thêm domain thứ hai thì có vấn đề :
No input file specified. (Khi bài viết dạng Preview thì xem được.)
Mình tìm cách fix cả ngày đêm cũng kg được.. Mong bạn hỗ trợ…
Bạn truy cập: https://seoer.kim/seo
Mày mò cả ngày trời mới thấy điểm lỗi.. hix… thì ra cho mình để WP ở thu mục khác html root… rule mặc định của hocvps kg đúng.
Dùng script ok chứ bạn?
Vâng.. rất ok… mặc dù mới toanh về Nginx… nhưng qua sự mày mò và tìm hiểu… thì thấy… cấu hình đơn giản hơn Apache rất nhiều…
Server mình 6Gb ram: Cache 1,2Gb .. Nên 100 user online chỉ mất 2Gb ram luôn ram cache…
Ngon rồi… Trước mình luôn bị Overload phải restart hoài bực mình…
Zend Opcache hình như trong hocvps script có sẵn rồi mà anh? Sao anh còn hướng dẫn cài nữa?
Uh nhỉ, quên chưa update bài viết 😀
pó tay rồi Ad ơi… mình cài xong vào phpmyadmin không được… trong menu hocvps nhấn tạo DB cũng không được.. nó bảo chưa khởi động hoặc bị lỗi… MariaDB. Trong khi mình cài test trên máy ảo tại laptop thì ok hết… còn này cài lên VPS thì linh tinh lỗi… giờ làm sao đây AD
Bạn dùng VPS của nhà cung cấp nào vậy?
Mình dùng LongVan ạk… giờ làm sao… hix.. bạn rãnh kg.. Remote qua xem giúp mình đi.. Web down sạch rồi.
Mình kiểm tra thấy MariaDB chưa được cài.. Nên mình cập nhật bằng trên menu hocvps và cài thành công.. Tạo DB ok nhưng vẫn không đăng nhập được phpmyadmin… báo lỗi #1045 – Access denied for user ‘…..@’localhost’ (using password: YES)
Password cho tài khoản root MySQL thì do script tự động generate và hiển thị sau khi cài xong script nhé.
Nếu ko để ý thì bạn mở file /root/hocvps-script.txt lên coi lại.
Bây giờ mình đang cài Script HocVPS.. hy vọng mọi thứ ok, không gặp rắc rối gì… ! mình sẽ thông tin cho bạn khi thành công hay có vấn đề cần bạn giải quyết hộ.
Okie bạn
Thật bái phục.. Nhưng theo hình trên có phải dùng VPS 2 Ram không vậy ? Nếu đúng như vậy thì mình cũng muốn sử dụng thử cái tools quá hót này.
Bởi vì hiện tại, mình đang dùng Zen VPS 2 Core – 6Gb ram nhưng user online 120 là overload rồi… Mình dùng DirectAdmin..
Cần bạn tư vấn thêm …
2GB RAM đó bạn
Thật thế ư ? VPS của mình 6Gb mà chỉ 120 là lag cực kỳ rồi… Mình đang định yêu cầu bên dịch vụ cài lại mới Centos. Thế Script của bạn thích hợp với phiên bản Centos nào nhất ?
HocVPS Script tương thích với CentOS 6 và 7, mình hay dùng 6 hơn nên script cũng ổn định hơn với phiên bản này. Bản thân DirectAdmin đã tốn nhiều tài nguyên nên không còn cho website, số lượng online không được cao là đúng rồi.
Ok… như thế mình sẽ yêu cầu bên cung cấp vps Reinstall lại cho mình và cài Script của bạn nhé…
Nếu có vấn đề gì… thì bạn vui lòng TeamViewer xử lý giúp mình nhé… Vì kg phải dân chuyên centos ssh.
Cần gì bạn cứ liên hệ email hoặc để lại comment mình sẽ support.
Em đang muốn cài ssl (https) cho web site, sever của em đang cài script của bác. Bác có bài hướng dẫn nào cho em xin được không?
Đây bạn, vừa mới post xong: https://hocvps.com/cai-dat-lets-encrypt/
ok bác để em ngâm cứu thử
Luân cho mình hỏi cái này nếu mình dùng vps $10 cuả vultr thì có khả quan không? Bạn đã bao giờ thử các gói dưới $15 chưa :D.
Mình toàn sử dụng các gói < 10$ bạn ạ 😀
Chào bạn,
Cho mình hỏi tắt ghi log đi thế nào vậy bạn, mặc dù mình thấy một số tính năng ghi log để off rồi mà sao nó vẫn ghi nhỉ.
Cảm ơn bạn.
Bạn mở file cấu hình .conf của từng domain để off log đi là xong.
Cảm ơn anh. bài viết hay !
A Luân có bài nào về bảo mật VPS không ạ?
anh Luân cho em hỏi sao em cài scrips mà giờ login Phpmyadmin nó hiện cái này là sao nhỉ
http://prntscr.com/b2udvf
đã thử mọi pass vẫn k vô dc
Đó là chức năng bảo mật của bản mới nhất. Bạn hãy dùng account admin, password tự generate trong quá trình cài đặt nhé. Mình có update thông tin ở đây rồi: https://hocvps.com/script/
cảm ơn bác đã chia sẻ
Sao e dùng lệnh SSH bằng ZOC thì ko viết đc nhỉ cứ phải copy paste vào thì chạy và viết là nó ko chạy, tòa viết ra rồi copy paste vào
Làm gì có chuyện này nhỉ 😀
Em chào anh ạ. Em có cài hocvps trên vps để cài nukeviet 4 nhưng khi cài đặt thì nó báo là Hỗ trợ rewrite không tương thích ạ. Em nên làm gì để cho nó tương thích ạ :(. Em xin cảm ơn ạ
Nukeviet cần phải cấu hình thêm mới chạy được, bạn tham khảo hướng dẫn rewrite cho Nginx này nhé: http://wiki.nukeviet.vn/web_server:cai-dat-lemp-cho-centos6
Mình làm theo các bước của Luân Trần và web mình load nhanh với vps của vultr và cài hocvps nhưng mà không hiểu sao lại báo lỗi này ở cuối trang : starloveshop.com luân xem giúp và chỉ giúp mình nhé.
Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home/starloveshop.com/public_html/wp-includes/functions.php on line 3549
thanks!
Hình như đây là vấn đề chức năng minify của W3 Total Cache với PHP 7.0, bạn tạm thời disable đi nhé: https://wordpress.org/support/topic/php7-compatibility-3
Mình vào link này làm theo thì nó ẩn cái dòng đó đi nhưng không biết có bị gì không. Thanks luân nhé
https://www.itnota.com/fixing-php7-compatibility-issue-w3-total-cache/
Đây chỉ là giải pháp tạm thời thôi, bạn dùng cũng được nhé.
Chào Luân!
VPS của mình đặt ở VN, Ram 2GB
Mình tự cài đặt các chương trình như sau:
1. apache httpd
2. mariadb
3. php 5.6
4. phpmyadmin
5. memcache
6. Zend Opcache
Nhưng mình đang ko hiểu sao mình cài đặt wp mà thời gian mất tầm 5 – 10p mới xong
Nhờ bạn support mình chút
Mất nhiều thời gian như vậy có gì đó ko ổn rồi, có gì đặc biệt ko bạn?
Ko có gì đặc biệt bạn ak, wp bản mới nhất, cài lên thôi, chứ chưa cài plugin gì cả
Chắc phải nhờ Luân ngó qua server giúp mình xem có đoán đc nguyên nhân vì sao k
Kũng muốn học về vps nên pắt đầu từ đâu a luân
Cài HocVPS Script đi bạn: https://hocvps.com/script/
Mình muốn xài PVS nhưng mù cài đặt, ai có hướng dẫn chi tiết về cách cài đặt và sử dụng shase cho mình tham khảo với
Bạn dùng https://hocvps.com/script/ đi, đơn giản lắm.
Chào Anh, em đã config như a chỉ, mọi thứ có vẻ như rất ok.
Tuy nhiên em có thắc mắc là khi em dùng lệnh free -m thì em chỉ còn free có 75Mb, trong khi đó coi qua vpsinfo thì còn dư đến 713Mb (memory physic), vps em có 1Gb Ram ạ
Bạn xem bài này nhé: https://hocvps.com/xem-luong-ram-da-dung-tren-linux-dung-cach/
Hocvps script không cho xóa site chính của mình nhỉ 🙂 do mình không biết code nên rất hay dùng plugin, mình dùng plugin Duplicator để backup site chính của mình về và chỉnh sửa trên local, khi sửa xong mình muốn xóa toàn bộ code site chính trên VPS đi thì nó không cho xóa 🙂 có cách nào để dùng plugin Duplicator cho site chính không Luân ơi 🙂
Bạn dùng File Manager xóa toàn bộ nội dung bên trong thư mục public_html là được.
minh se ap dung cho server vua tau
Mình đang dùng Sentora để chạy.
Vậy bây giờ mình bỏ qua bước 1 để chạy các bước tiếp theo được k?
Được nhé bạn
Mình gởi thông tin vps. bạn kiểm tra giúp mình được không vậy. VPS 2Gb của Vultr mà chạy khoảng vài trăm là bị đứng bạn à
Rất tiếc mình ko có thời gian để check giúp bạn được.
Em cấu hình xong tất cả rồi. Bây giờ cài wordpress lên kiểu gì anh. Có cần cài sentora nữa không
Cài HocVPS rồi ko dùng Sentora nữa. Dùng file manager upload site lên đi.
mình muốn cấu hình 1 site chạy 2 server. 1 server chạy source, 1 server chạy mysql ;search google thế nào để tìm đc kết quả chính xác nhất bạn nhỉ
Sao lại phải chạy như thế làm gì cho phức tạp bạn nhỉ? Bạn có thể tìm với từ khóa Load Balancing
không liên quan nhưng anh dùng plugin gì để tạo nút chai sẻ vậy, nhanh và đẹp ghê chỉ em với
Plugin Floating Social Bar nhé bạn
càm ơn bài chia sẻ rất hay , mình đang tính xài DEDICATED CLOUD hoặc CLOUD SERVER bên này http://longvan.net/cloud-server.html của VN ( site mình có chứa nhiều video, cũng mong muốn online 5-10k như Bác ^^) 1.mình tính cài direct admin vậy mình có tối ưu như bài viết này để chịu tải tốt hơn dc ko ạ , cảm ơn nhiều.
2.nếu được tư vấn giúp mình nên xài cái nào ở trên hoặc dùng gói khác ở chỗ khác dc ko ^^ tks so much
Direct Admin thì mình không rõ nữa nhé 🙂
Mình đang mò mẫm tìm hiểu về vps và cách cài vps để mua 1 cái vps giá rẻ dùng cho site vệ tinh. Người mới như mình đọc bài này thực sự là chẳng hiểu gì. Bạn có thể giới thiệu tóm tắt cho mình 1 cái vps giá rẻ mà mình phải tự quản trị thì lúc đầu nó có cái gì, và để cài đặt chạy 1 website dùng wordpress thì cần làm những gì không?
Cám ơn bạn
Bạn nên dùng VPS của Vultr nhé, họ tính theo giờ sử dụng nên bạn cứ mày mò, chán thì xóa đi ko bị tính tiền tiếp nữa.
Hiện đang có chương trình dùng thử 52$ bạn tham khảo ở đây: http://chiasecoupon.com/vultr-coupon/thu-dung-ngay-vps-vultr-voi-50-mien-phi.html
Chào Luân, mình mới cài trên cent os 7. Nhưng bị báo lỗi ko cách gì mở được phpmyadmin
À cái này do lỗi script ấy, mình chưa update lại đường dẫn sau khi nâng cấp version mới.
Giờ ok rồi nhé.
Sử dụng HocVPS Script bạn sẽ được tự động cài đặt và tối ưu LEMP server trên CentOS. Cài đặt khó khó kiểu gì đấy nhỉ
Khó kiểu gì nhỉ?
Em làm như trên mà 1k5 online đã die anh ơi. gói của em cũng 2GB
Mình cài thêm ngx_pagespeed, mặc dù có nhanh hơn chút nhưng mà lượng concurrent requests phải nói là giảm xuỗng đáng kể
Luân cho mình hỏi, sau khi cấu hình vps theo bài này, mình muốn host nhiều site trên cùng vps, mình theo các bước sau:
– clone và replace domain của file config trong nginx conf.dd
– copy và rename thư mục trong home
– Khởi động lại các dịch vụ nginx ..
Theo Luân như vậy được chưa, mong Luân tư vấn để có thể host nhiều domain trên cùng vps đã setup như Luân hướng dẫn. Cám ơn nhiều!
Bạn có dùng HocVPS Script không thế, nếu có thì không cần phải thao tác như thế này làm gì cho phức tạp 😀
Em chào anh, em đang dùng VPS của wable. Em cài theme porto nhưng import bản demo vào thì bị lỗi giao diện không giống demo, e thử trên stablehost thì không bị lỗi. Em nghĩ VPS nó chặn cái gì đó khiến không upload được hết dữ liệu demo, kể cả khi chuyển file & database đã cài đặt thành công ở stablehost sang vẫn bị lỗi giao diện tương tự.
Mong a chỉ giáo. Em cám ơn nhiều.
Vấn đề này có rất nhiều lí do, nếu nói chung chung thế này mình cũng chịu rồi.
Chào anh.
em có làm theo hướng dẫn ở bài này: https://hocvps.com/video-cai-dat-wordpress-tren-vps-digital-ocean/
và đã đưa được website hoạt động trên vps digitalocean. Nhưng có một vấn đề em muốn hỏi đó là cách tối ưu nó vì website em đang dùng vps 40$ / tháng của digitalocean mà hay xảy ra lỗi: web đơ không truy cập được, thỉnh thoảng lại có dòng thông báo lỗi này: Nginx is functioning normally
Em cũng không biết xử lý sao nên tắt vps đi mở lại 1 lúc là được.
Nhờ anh hướng dẫn dùm em cách chỉnh sửa tối ưu.
Cảm ơn anh !
Website của em online tầm 150 visitor.
Bạn nên cài đặt VPS mới sử dụng HocVPS Script với cấu hình tối ưu theo bài này, đảm bảo server sẽ hoạt động hiệu quả hơn rất nhiều đó.
Có hướng dẫn nào chuyển website wp qua mà dùng Scripts này ko a ơi.
Nếu chưa hướng dẫn thì cho em cái gợi ý để e làm theo nhé
Bạn dùng plugin Duplicator nhé, chuyển rất dễ dàng.
Mới mua con domain! bận chưa tạo được paypal, mua con VPS chơi như mấy bác ! kiếm tiền phát, làm thuê nghèo quá
Mình có 1 con vps vultr và ko bít config, bạn có thể config giúp mình ko?
Vào nhìn cái status analytics của bạn mà thấy phục quá 🙁 bao giờ mới có visit như thế
Chào A, có tool nào ngoài benmark để test thử độ chịu tải tối đa của vps ko ạ?
Bạn có thể dùng một số tên như: loadimpact, siege, Tsung…
Em có thể hỏi anh 1 câu là trung bình traffic 1 tháng bên chiasecoupon là bao nhiêu thế hả anh, ngưỡng mộ quá