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ình hôm thứ 6 chạy bình thường,
hôm chủ nhật mình vô web bị lỗi mysql
mình reboot cả vps + mysql đều lỗi trên bạn
Khả năng cao do server tắt service MySQL sai dẫn đến lỗi. Bạn xem comment hướng dẫn đầu tiên ở link sau để khắc phục nhé: http://stackoverflow.com/questions/17424863/error-mysql-manager-or-server-pid-file-could-not-be-found-qnap
CHo mình hỏi mình cài vps hocvps ko biết bị sao tự dưng vô web lỗi my sql,
mình dùng lệnh reset vps thì báo lỗi
ERROR! MySQL server PID file could not be found!
Không có gì tự dưng cả 😀
Bạn thử restart lại VPS xem sao
Bác Luân cho em hỏi: tại sao mặc định khi thêm 1 domain abc.com thì thư mục luôn ở /home/abc.com/…
mà không phải ở /var/www/?
source code để ở đây có gì khác so với việc để ở /var/www vậy bác? 🙂
Để 2 cái như nhau, mình thích để ở /home hơn thôi 😀
Bác nào muốn nghiên cứu VPS Google thì qua đây
http://kiemtien.info/huong-dan-xay-dung-hosting-voi-parallels-plesk-va-google-cloud-platform/
Lỗi file download phpMyAdmin bạn nhé.
Đoạn nào bạn nhỉ?
mình ko sài wp thì memcached và Zend Opcache có đủ ko bạn nhỉ?
với lại cái này chạy trên nền nginx nếu trên apache thì ntn?
apache ý m là hiểu suất có tốt bằng??
Apache thì performance kém nhiều với nginx. Với server Apache sẽ có cách cấu hình khác nhé bạn, không áp dụng bài này được.
Cho mình hỏi một cách này là cài web cho số online lớn, có áp dụng cho số gg bot nó vào nhiều ko? Tức là mình có site với số lượng posts lớn, ping cùng 1 lúc hết lên thì sợ vps nó ko tải đc khi google bot vào check site
Áp dụng hết bạn ạ, vì bản thân Bot nó cũng là visit
Luân ơi, sau khi mình làm đúng những bước trên, không bị lỗi gì hết, đến khi mình di chuyển code, import database thì nó bị lỗi font, dạng thế này: Tr?o s? ??c ch?ng, nói chung là một số từ biết thành ?.
Mình đã thử chuyển qua utf8 hay latin1 nó đều bị lỗi như vậy, thử mở cái database ra = notepadd++ thì thấy data vẫn ổn, không lỗi tiếng Việt gì cả.
Luân hướng dẫn mình cách khắc phục với.
Vấn đề này ngoài khả năng của mình rồi
Chào Luân!
Có cách nào đăng ký tài khoản trên này không, khỏi phải gõ lại thông tin để comment!
Mặc định khi comment 1 lần thì nó sẽ lưu lại thông tin Name, email + website để lần sau không phải gõ lại nữa rồi mà bạn
Có khi nào do code bạn viết không, bạn thử đổi bảng mã trên trình duyệt xem có được không, nếu đổi bảng mã (Encoding) sang Unicode mà hiển thị đúng thì code bạn thiếu quy định bảng mã .
Mình nghĩ vậy, bạn thử xem sao, nếu không đúng cũng comment để mọi người được biết nhe!
Mình nghĩ không phải do trình duyệt bạn ơi, cái hosting mình đang sử dụng – database của mình là latin1 (trong phpMyadmin thì chữ nó lỗi tùm lum, nhưng ngoài web thì vẫn bình thường), nhưng khi mình export ra và imprort lên vps thì chữ ở web nó lỗi (giống y như chữ trong database vậy). Hic.
Hiện tại mình đang dùng VPS: 5 x CPU Intel XEON E5-2620, 80 GB SSD, 4GB RAM
Đã cài đặt Cloud Linux, Cpanel, mình phải cấu hình thế nào để nâng cao hiệu suất cao nhất có thể của nó vậy?
Cảm ơn!
Cpanel thì mình ko có kinh nghiệm cài đặt rồi
A Luân ơi, mình muốn đỗi port phpMyadmin thì làm thế nào?
Nếu muốn đổi port bạn hãy thay đổi nội dung các file:
– /etc/hocvps/scripts.conf
– /etc/nginx/conf.d/domainchinh.com.conf
Và enable port mới với firewall
Mình muốn cài 1 vps để chạy riêng sql thì phải làm thế nào nhỉ? :/
Lần mò mãi không ra.
Vậy bạn chỉ cần cài riêng MySQL là được: https://hocvps.com/huong-dan-cai-dat-lemp-linux-nginx-mariadb-php-tren-centos/
Em chưa hiểu lắm 🙁
Theo bài này thì cài zend opcache, memcached, ngx_pagespeed, w3 total cache vào đúng không ạ 🙁
Nhưng cho e hỏi cái ngx_pagespeed có mấy cái khoảng như Minify, Combine CSS, … thì có xung đột với w3 total cache không bác Luân??
Rồi e cài như trên thì khỏi cần những plugin như kiểu Autoptimize hả a 🙁 Chưa hiểu nguyên lí của bọn này cho lắm 🙁 A.Luân giải đáp giúp e ạ 🙂
Một số chức năng của ngx_pagespeed thì w3 total cache cũng hỗ trợ rồi. Tuy nhiên nguyên lý của ngx_pagespeed là xử lý ở mức server, còn w3 là ở mức application, bằng PHP.
Do đó, không cần thiết phải cài ngx_pagespeed lắm, với lại mình thấy một số điểm không có lợi cho SEO (rename file ảnh chẳng hạn) nên nói chung ko nên dùng.
Mình cài HocVPS vào nhưng nó không setup được. Chạy thành công nhưng khi chạy web thì nó không kết nối được. Có thể hướng dẫn fix không bạn
Bạn gửi cho mình thêm thông tin vào admin@hocvps.com để mình check nhé.
Ubuntu cũng là Linux mà không cài được hả bác?
Vì câu lệnh cài đặt sẽ khác, bản này mình mới làm trên CentOS thôi bạn
online 4.363 người thực sự kinh khủng khiếp 😀
site nào online khủng thế hả bạn 🙂
Site trong bài viết đấy 😛
Site chiasecoupon có online đến thế không bạn, alexa cao ngất ngưởng đó thôi 🙂
Ui site đó visit bình thường thôi bạn, làm sao mà online kinh thế được 🙁
Anh ơi sao cài đặt như anh rồi mà enable Page Cache k được?
Cụ thể hơn chút nhé?
Em đã cài theo anh và đc site hiện tại rất ngon :v… Cảm ơn Anh Luân 😀 … à hôm nào anh làm seri bảo mật chống DDos đi anh :v
Hình như có lỗi gì đó bác ạ. Em backup giờ nó ko báo về email nữa thì lấy ở đâu ạ
Trong thư mục /home/domain.com/private_html/backup nhé
Mình đang xài VPS Ubuntu
xin giúp mình làm theo bài viết với
thank Luân nhé
Ubuntu thì mình chịu 😀
top – 10:00:20 up 2:02, 1 user, load average: 2.18, 1.95, 1.58
Tasks: 25 total, 1 running, 24 sleeping, 0 stopped, 0 zombie
Cpu(s): 10.2%us, 20.1%sy, 0.0%ni, 69.5%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1048576k total, 719992k used, 328584k free, 0k buffers
Swap: 2097152k total, 0k used, 2097152k free, 138844k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1082 nginx 20 0 795m 207m 20m S 99.6 20.3 37:52.54 nginx: worker proce
1083 nginx 20 0 583m 135m 19m S 99.6 13.2 30:48.83 nginx: worker proce
1 root 20 0 19236 1432 1200 S 0.0 0.1 0:00.01 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd/8682]
Bạn đang chạy vps ở đâu mà swap lớn thế, tớ thấy bình thường tạo swap chỉ ngang ram thôi mà 🙁
Ngang RAM hoặc gấp đôi ok, tất nhiên ko nên sử dụng nhiều SWAP ảnh hưởng đến hiệu suất hệ thống. Cái này chỉ là giải pháp tạm thời thôi.
Mình đã cài đầy đủ zend + memcache. bạn check nguyên nhân giúp mình, có skype không để mình pm cho tiện
Mấy bữa nay không hiểu sao cái service nginx chạy lúc nào cũng 100% cpu, chỉ mình khắc phục tình trạng này được không. VPS hay treo quá, mặc dù onl cùng 1 lúc chỉ khoảng 100 người thôi
Bạn đã cài đặt Zend + memcache chưa? Nếu cài rồi thì cần check nguyên nhân ở đâu thì mình tìm giải pháp cho nhé.
Nhiều bước quá =.= Bác Luân tích hợp vào HocVps luôn mấy cái đó để bấm phát tự động cài zen, mem, pagespeed luôn cho tiện ạ ~.~
He tích hợp vào thì tốn nhiều thời gian lắm bác 😀
Bác Luân cho hỏi hocvps có update gì không mà sao trước em chạy được cỡ 250 online mà cpu chỉ khoảng 50 %
Mà giờ có chưa được 200 online mà cpu đã bị max. Không biết có bác nào có cùng bị như này không ak, Mong admin chỉ giáo ạ !
site bạn có thêm nhiều ảnh, nhiều java script gì trong disk để cho site chạy không??? có thể giờ site bạn có nhiều ảnh, nhiều script hơn nên nó load tốn tài nguyên hơn là phải thôi 🙂
Thì vẫn như thế mà bác. Có thay đổi gì đâu
Script không thay đổi gì đâu nhé bác, do code thôi 😀
Hi A Luân,
VPS Vultr dùng một thời gian thì chẳng hiểu sao BW tăng đột ngột, có ngày tăng gần 2TB BW mà site online ngày được 3 đến 4k traffic. Kiểm tra thì cũng không rõ biểu hiện của DDOS, gửi mail cho họ hỏi là mấy server bên US có chống ddos không thì họ bảo không, hỏi tại sao BW tăng đột ngột như vậy thì họ cũng không trả lời cứ thế là trừ tiền BW. Thấy thất vọng vultr 🙁
Cái này khó bạn ạ, support họ không kiểm tra được là tại sao lại tốn băng thông đâu
Đã cấu hình theo. Thậm trí còn chạy chậm hơn ạ 🙁
Site của bạn là gì vậy?
Site em la xemti.com ak
Ơ mình thấy load ngon mà nhỉ?
Hôm trước xài cái WP-FFPC tít cực ấy ạ. ko hiểu sao update lại lỗi . Thôi em dùng tạm cái này vậy . rồi tìm cách khắc phục sao. Cảm ơn hocvps và Luân Trần rất nhiều ạ
Luân cho hỏi mình dùng WP-FFPC nhưng khi update phiên bản mới thì bị lỗi. Chuyển sang W3 Total Cache thì chậm đi hẳn 1 nửa. Không biết nguyên nhân do cấu hình hay vấn đề gì mong Luân giúp đỡ 😀
Cảm ơn hocvps rất nhiều
Mình nghĩ do cấu hình thôi, blog này đang dùng W3 Total Cache mang lại kết quả rất tốt. Bạn có thể view-source, xem đoạn cấu hình cuối cùng để so sánh xem?
Bạn có thể giúp mình chụp lai cái ảnh cấu hình ko. Mình ko phải dân chuyên code nên đọc cũng tù mù. Cảm ơn hocvps
Trong phần Page Cache, Database cache và Object Cache bạn hãy lựa chọn sử dụng method là Memcached là xong nhé
http://file.newking.biz/ROM/Android_Revolution_HD-One_81.0.zip
Luân xem giúp, mình cài hocvps script,
tốc độ tải file về ko lên nỗi 100kb/sec
mặc dù mạng mình cáp quang, chơi googledrive thì full speed luôn. mà vps linode thì lại ko full dc?
giới hạn này mình có thể thay đổi ko? hay là mặc định.
Okie đã tìm ra vấn đề do đường truyền rồi nhé 😀
Not found download: http://download.hocvps.com/iso/Win7.iso
Plees upload the new.
Thank you. It’s ok now.
sao mình vào cài xong site chạy ngon lành cành đào nhưng vào wp-admin báo lỗi sau
403 Forbidden
nginx
Hướng dẫn mình fix lỗi này với
Bạn check lại nội dung folder wp-admin này xem sao, có thể do bản WP này lỗi rồi
Bài này của bác hay quá, đang áp dung cho adonly.com
Xài HocVPS Script thấy rất tốt, chiếm rất ít ram và hdd vps, chịu khó config tí là ngon, tiết kiệm được nhiều moni akkaakka
1GB Ram 30GB SSD Disk Singapore 1 CentOS 6.4 x64
Đây là thống số cấu hình VPS của mình ở Digital Ocen. Mình cài zpanel. Không hiểu sao CPU của mình thường xuyên lên đến 99% một cách đột ngột và chết toàn bộ web. Mình phải reset lại VPS mới chạy bình thường….
Bạn chạy lệnh
top
xem process nào đang chiếm nhiều tài nguyên nhân để biết mà xử lýĐây là thống kê CPU của mình trung bình 5 tiếng nó lại limit CPU 1 lần
http://www.upsieutoc.com/images/2014/08/13/Capture6f168.png
Đây là thông kê lệnh “Top” thời điểm hiện tại ko vấn đề gi:
http://www.upsieutoc.com/images/2014/08/13/138a04.png
Nhìn cái này quá khó rồi.
Mình chỉ có thể đưa ra suggestion là hãy disable tất cả những cái ko cần dùng trong zpanel, và tạo thêm swap cho VPS.
Luận cho mình hỏi lệnh này có nghĩa là gì:
/usr/bin/php -q /etc/zpanel/panel/bin/daemon.php
Mình có dùng lệnh đó tại bài viêt:
http://forums.zpanelcp.com/Thread-CPU-100-zpanel
Ngoài cái chạy 5 -6 tiếng lại bị limit CPU thì VPS đây chạy rất GOOD.
Hôm nào làm bài “Bảo mật & Chống DDOS toàn tập!” là good – good & good . . .
Cậu ơi tớ có cài plugin này: https://wordpress.org/plugins/nginx-helper/
Plugin đó hướng dẫn cài đặt module ngx_cache_purge, tớ đã cài đặt thành công rồi nếu giờ tớ cài thêm Zend Opcache vs Memcached liệu có xung đột gì không hả cậu?
Mình thấy nhiều người cài chung bộ này được, bạn dùng đi nhé.
Mình đang muốn học các hình thức kiếm tiền với VPS, bạn nào biết thì chỉ mình với, email mmolike0019@gmail.com , cám ơn nhiu.
Thank Luân! 😀
Test ngay trên con VPS 0.01$ Mới được
http://chiasecoupon.com/interserver-coupon/vps-free-thang-dau-tien.html
Thế sử dụng Zend Opcache vs Memcached song song à bác @Luân, e tưởng chỉ nên dùng 1 trong 2 cái chứ ?
Dùng song song nhé. Zend Opcode là opcode cache tăng tốc chủ yếu PHP, còn memcached hỗ trợ cache database rất tốt. Cặp đôi này song kiếm hợp bích thì thôi rồi 😀
đù má m cũng bon chen vào đây 🙂 (xin phép bác luân tửi bậy tí :v)
Mình xài CDN ở CloudFlare thấy cũng ok, xài thêm WP-FFPC thì vù vù, Luân xài CDN ở Amazon giá cả dễ chịu không?
Cũng tùy loại site, ví dụ như blog của mình dùng CloudFront mỗi tháng hết max 1$ 🙂
Mình vừa mới đăng ký thử gói Tier 1 năm free của nó mất 1$, Luân có thể chỉ mình cách sử dụng không, thằng này lạ thật 😀
Có hướng dẫn đây, dùng cẩn thận kẻo chết tiền phí nhé: http://chiasecoupon.com/kinh-nghiem/cach-dung-amazon-cloudfront-lam-cdn.html
Thằng w3 total cache có mục CDN, Luân có bài nào hướng dẫn ko :p
Xem tạm đây nhé: https://rtcamp.com/tutorials/cdn/amazon-cloudfront-wordpress-w3-total-cache/