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é.
VPS của mình bị suppend, giờ ko thể unsuppend được, giờ bên nhà cung cấp bảo muốn backup folder nào, Bạn chỉ cho mình cần backup folder nào để lấy lại dữ liệu và mysql với. Thanks
Bạn backup folder /home/ và yêu cầu nó backup dữ liệu MySQL cho.
A Luân cho e hỏi với ah, e cấu hình vps theo Hocvps Script của anh, nhưng CPU toàn thấy báo 100% lúc cao điểm, còn phải cấu hình cái gì để giảm tải CPU ko anh. Website của e cao điểm 600 người online. Hiện tại e đang dùng host DigitalOcean gói 20$.
DigitalOcean yếu thế à 😀
Bạn thử check lại xem process gì đang chiếm nhiều CPU nhất, Opcache có đang chạy ko?
Bác Luân cho em hỏi, khi em install plugin wordpress trực tiếp thì vps đòi FTP account và pass . cái này bên mình có bài hướng dẫn khắc phục nào chưa ạ
Chắc bạn chưa chạy chức năng Phân quyền webserver rồi nên mới bị như vậy. Xem thử bài này: https://hocvps.com/sua-loi-khong-cai-dat-duoc-plugin-theme-wordpress/
Bạn ơi mình hỏi có đoạn script nào đầy đủ chỉ dẫn cài vps để cho nhiều domain chạy không. Mình chưa dùng vps mà chưa tìm được script để cài đầy đủ. Mong bạn giúp đỡ
HocVPS Script sử dụng cho nhiều domain đó bạn. Sau khi cài đặt xong chỉ cần chạy lệnh “hocvps” rồi chọn option Thêm website là được.
Cho mình hỏi phần cấu hình W3 Total Cache thế nào để khi mình viết bài mới nó không bị cache (hiển thị ở trang chủ, danh mục) hoặc tự động xóa cache khi public 1 bài mới. cảm ơn ạ
Bạn vào phần cài đặt Page Cache, xem đoạn Purge Policy: Page Cache nhé.
Ok, cảm ơn Luân nhé 🙂
Chào bạn,
Bạn cho mình hỏi dùng câu lệnh nào để import database sql.gz ?
Cảm ơn bạn vì bài viết!
Bạn giải nén ra rồi chạy lệnh này:
mysql -u username -pmypass databasename < database.sql
Xem thêm: https://hocvps.com/cac-cau-lenh-mysql-can-phai-biet/
Luân ơi bạn xem giúp mình với mình cài HocVPS trên Vultr xong khi chuyển site wordpress mình sang thì bị lỗi này.
http://i.imgur.com/J5UH4Dy.jpg
Bạn chạy menu “hocvps” rồi chọn chức năng Phân quyền webserver.
Ok được rồi. Cảm ơn Luân nhé. Mình đọc trong đấy mỗi lần làm thế này lại phải vào phân quyền lại hả bạn
Mỗi lần bạn sử dụng tài khoản root để thao tác thì mới phải phân quyền lại thôi. Hoạt động bình thường thì ko sao.
Chạy khá ổn nhưng rất hay bị lỗi 502 bạn Luân Trần ơi.
Thường lỗi này do server bị quá tải hoặc do bị tấn công. Bạn check lại cấu hình server xem có phải không?
Ko phai dau . Ngay cả khi vừa cài xong,mình chạy test ,ko có ai, mà nhấn nhanh 1 chút là cũng bị rồi. Chạy trên vultr ram 1 G. Cái này bạn search trên google thì cũng thấy nginx và php-fpm hay bị lôi này. Mình tăng fast cgi time out lên 1 chút thì có giảm hơn. Nhưng đôi khi vẫn bị
Bạn đã cài đặt những gì để mình cài đặt VPS mới test thử xem lỗi này như thế nào nhé?
Mình cài đặt HocVPS ,memcached,zend opcached và sphinxsearch . Ko chỉnh gì,để mặc định như của bạn thôi.
Mình hay bị lỗi này là sao nhỉ
Notice: Undefined offset: 2 in /home/public_html/user/index.php on line 44
Cái này do sai cú pháp PHP, bạn check lại dòng 44 của file index.php xem
HI Luân Trần
bạn có thể huớng dẫn mình cách tạo file báo lỗi 403 trên vps sử dụng hocvps đc ko?
http://www.cyberciti.biz/faq/linux-unix-nginx-access-control-howto/
http://www.cyberciti.biz/faq/unix-linux-nginx-custom-error-403-page-configuration/
Mình có làm theo huớng dẫn ở đây, tuy nhiên cấu trúc thư mục của vps sử dụng hocvps khác với huớng dẫn (centerminmod thì giống như huớng dẫn). mình sửa file nginx.conf tại etc/nginx/nginx.conf và cũng đã thành công. tuy nhiên việc custom file báo lỗi 403 mình không biết làm sao.
Bạn có thể huớng dẫn giúp đuợc không? xin cảm ơn bạn
Chào bạn, file cần sửa nằm trong thư mục /etc/nginx/conf.d/ nhé chứ ko phải file kia
trong thư mục đó la file domain.conf mà. mình sửa file nginx.conf ở ngoài nó cũng có tác dụng tuy nhiên cái quan trọng là sửa nội dung file báo lỗi 403 chổ nào vậy bạn?
Chào bác Luân,
Bác cho em hỏi nhờ chút với ạ
Trong cái thống kê của google analytics có cái chức năng xem số người đang online trực tuyến
Xin được hỏi bác chức năng xem tổng số người đang online vào các web trên vps (vps có nhiều hơn 1 web) thì lệnh xem là gì ạ
Mong bác giúp đỡ
Cảm ơn bác nhiều
Cái này ngày xưa mình có đọc ở đâu đó rồi nhưng ko thể nào tìm ra được 🙁
Chào bác,
Bác ơi thế bác xem số người online trong server của bác bằng lệnh gì ạ
Thường thì mình không check thông tin này. Bạn tham khảo thử bài hướng dẫn sau: https://khachhang.bkns.vn/knowledgebase/153/Mt-s-lnh-c-bn-kim-tra-DDos.html
Chào bác Luân,
Bác cho em hỏi nhờ là website của em không dùng wordpress vậy W3 Total Cache có nên cài đặt không ạ
Không bác nhé vì W3 Total Cache chỉ chạy với WP, lúc này bác tìm hiểu xem code của bác có plugin cache nào hỗ trợ memcache hay ko?
Thế tức là nếu code mình ko có modul nào hỗ trợ memcache thì nên bỏ qua khỏi cài phải không anh, hay cứ cài thì có tác dụng gi không anh 🙂
Nếu như code của bác sử dụng có plugin hỗ trợ memcache thì có thể sử dụng plugin đó và cài memcache. Còn không thì ko cần phài cài memcache vì có dùng được đâu.
hocvps cho mình hỏi mình đang dùng WordPress trên VPS thì nên dùng plugin hay dùng memcache? thí dụ như Wp-Rocket cache
Giữa 2 cái này thì cái nào là tốt nhất?
Thanks
Làm phiền luân cho mình hỏi cách xóa cache trên VPS. mình cài hocvps. mình mới sửa lại file .htaccess code wordpress. nhưng mãi vẫn chưa thấy có thay đổi gì. mình nghĩ do cache trên vps. luân hướng dẫn mình khắc phục nhé. cảm ơn luân nhiều.
Cache thì là do plugin bạn cài đặt, vào trong đó clear là được, không liên quan đến VPS nhé.
tks luân. mình biết rồi. file .htaccess không có tác dụng trong nginx. phải vào conf của domain fix lại. 😀
vậy là chỉ cần cài wp super cache là xong rồi hả a 🙂
A Luân Trần ơi, a có thể viết bài TUT về cách cấu hình cho Wp-super Cache được không ợ. 🙂
E xài hocvps, khi làm theo tut ở đây:
https://www.digitalocean.com/community/tutorials/how-to-use-wp-super-cache-and-jetpack-photon-to-optimize-wordpress-performance-on-ubuntu-14-04
thì đến các bước cấu hình file nginx thì chịu 🙁 … chả thấy giống 🙁
Note: site e site nhỏ ợ, dùng Digital Ocean 512MB 🙂
Bạn không cần thiết phải thực hiện đoạn cài đặt nginx đâu.
Mình sử dụng CDN ở CloudFlare cũng thấy ok , nhưng chỉ được 1 site là sao nhỉ , ad có biết bên nào cung cấp tốt không ?
CloudFlare mình dùng hơn chục site vẫn ok đấy.
Cloudflade a dung free hay dung tinh phi do a. E cung tinh su dung de chan ddos. Hom no dang ky goi free ma chay van khog dc
Mình sử dụng free thôi bạn 😀
Luân ơi cho mình hỏi muốn clear zen opcache trên hocvps thì làm thế nào?
Bạn dùng lệnh
opcache_reset
của PHP: http://php.net/opcache_resetTốt nhất sử dụng 1 script Web Viewer như mình đề cập cuối bài hướng dẫn, có chức năng reset đó: https://hocvps.com/cai-dat-va-cau-hinh-php-zend-opcache/
mình thử cài cấu hình tối ưu này và thấy ram sử dụng lên cao quá, lúc nào cũng gần như max, CPU thì nhẹ hơn, không biết ram max thế này có bị vấn đề gì k nhỉ, mình đang sử dụng vps digital ocean 2gb ram, chạy 6 site tổng số ng onl có lúc tầm khoảng 2k
RAM thì bạn xem bài này xem đã xác định đúng cách chưa: https://hocvps.com/xem-luong-ram-da-dung-tren-linux-dung-cach/
Bài viết này hướng dẫn cấu hình chuẩn rồi, tuy nhiên tùy thuộc vào cách bạn dùng nữa để cần tối ưu thêm.
em hỏi chút, hocvps.com và chiasecoupon của anh có cài thêm w3 tool cache hay gì khác ko anh ? nếu cài anh đang cài gì vậy ạ
HocVPS cài đặt W3 Total Cache, còn Chia Sẻ Coupon thì dùng WP Super Cache nhé
Ban cho minh hoi chut, sao dung wp super cache bai viet moi cap nhat no k hien len nhi? tat di thi no moi hien
Do cache đó, bạn vào plugin WP Super Cache, chọn Delete Cache đi là xong
Chào bạn! Bạn cho mình hỏi vài câu được không?
Mình được người khác tặng mã giảm giá của digistar và mình muốn mua vps để download tài liệu từ fshare về vps sau đó upload lên onedrive. Nhưng mình xem thì toàn là vps linux, vậy có thể dùng vps loại này để làm việc trên không? Nếu không được thì nên mua loại vps nào? Nên cài những ứng dụng nào để up và download dể dàng nhất.
Bạn có thể sử dụng Linux, cài đặt giao diện GUI là ok, tuy nhiên quá trình setup sẽ vất vả hơn so với VPS Windows
Mình mới mua Linode nhưng mà cài Website trên Centos7 không được. Bạn có hướng dẫn này chưa ?
Bạn dùng CentOS 6.5 đi, bản 7 chưa có nhiều hướng dẫn đâu. Giờ mình vẫn đang dùng 6.5 trên Linode đây.
Luân ơi bạn có thể làm một bài hướng dẫn cài đặt directadmin cho vps, config chống local, ddos, brute pass đc ko? bạn thêm một hướng dẫn cân bằng tải load balancing cho nginx nữa thì tốt quá, tìm hoài trên mạng mà ko thấy có bài hướng dẫn chi tiết nào?
Thằng này có bản quyền nên mình không có điều kiện test 😀
Luân cho mình hỏi .
Để tối ưu hoặc 1 web hoạt động ổn, thì mình nên set up bằng tay từng phần LEMP hay là chạy script auto ?
Mình vẫn còn phân vân quá .
Ram 512mb thì tải được tầm bao nhiêu onl 1 lúc nhỉ?
Tất nhiên phải config từng module theo thực tế sử dụng, chứ auto chỉ hỗ trợ 1 phần nào đó thôi, chưa chắc phù hợp với nhu cầu sử dụng.
Hi Luân
mình đang sữ dụng script của bạn
nhưng khi chạy lỗi này
mong bạn giúp đở nhé
Fatal error: Class ‘SoapClient’ not found in
Bạn phải cài thêm php-soap thì mới chạy được, tham khảo thêm ở đây: http://stackoverflow.com/questions/11014431/enable-soap-on-php
sau khi cài hocvps ko hiểu sao ko chạy đc htaccess 301 ?
HocVPS sử dụng Nginx (thay do Apache) làm webserver nên ko chạy htaccess nhé. Tùy theo web của bạn sử dụng CMS gì, như WordPress hay Magento thì cài phát chạy được luôn.
Chào Luân,
Mình dùng HocVPS Script đã cài Memcached như hướng dẫn của bạn. Nhưng khi sử dụng w3 total cache thì method memcached nó ko hiện, nó vẫn cứ ẩn và ko cho phép kích hoạt dù mình đã cài và chạy memcached ok trên vps.
Bạn giúp mình xử lí vấn đề này với
Nguyên nhân bạn chưa cài Memcached PHP Module rồi, hoặc cài rồi nhưng chưa restart php.
VPS 1GB vultr mình chọn 64bit hay 32bit vậy bạn?
Loại nào cũng được vì sau đổi thoải mái.
Hiện giờ thì site chạy cũng ổn, mỗi chuyện chả có visit mà test nữa. Kết HocVps vì dễ dùng lại Vi-Vn
Anh Luân thử kiếm tra xem mọi người có cùng gặp lỗi như em ko, dạo này e thấy tự nhiên upload ảnh lên vps rất chậm, lúc thì rất nhanh nhưng thường là chậm mà e đang dùng 2 vps khác nhau nhưng đều cài hocvsp script nên em đoán có thể có lỗi gì khiến upload image chậm mà nó cứ đứng ở đó ko up lên được ko anh?
Anh chưa từng nghe thấy ai nói về vấn đề này cả, a đoán khả năng cao là do tốc độ mạng thôi, em check lại thử coi?
Thạch cho mình hỏi 1 chút với, mình đang dùng gói 5$/month của thằng digitalocean. giờ mình muốn nâng lên gói Ram 1Gb của nó, mình sẽ phải đăng ký gói mới rồi chuyển dữ liệu sang gói mới này hay là mình có thể nâng cấp luôn bên trong quản lý của DO? bên trong cpanel của DO mình thấy có chữ Resize nhưng khi ấn vào nó thì nó hiện ra cái chữ (There are currently no sizes available for Fast-Resize)
có cách nào mình nâng cấp lên gói cao hơn trực tiếp từ gói mình đang dùng ko bạn?
cảm ơn bạn
Mình tên Luân, không phải Thạch 🙂
Bạn có thể nâng cấp trực tiếp gói VPS trong phần quản lý. Nếu nó báo ko có size nào thì có thể khu vực đó đang hết slot, bạn đợi để DO bổ sung thêm
Chào admin,
mình vừa cài lại server nginx có 1 số vấn chưa tối ưu được. Luân có thể liên hệ giúp mình chỉnh server được ko? mình sẽ hậu tạ 😀 mr Sơn 0944.104.004 đang ở HCM.
Mình trả lời qua mail rồi nha, bạn có thể add nick skype của mình
🙁 mình vẫn cài ko đc
Gặp lỗi gì bạn nhỉ 🙂
@Luân nhờ bạn giúp mình cài rainloop webmail. Thank
Bạn tham khảo 1 trong 2 hướng dẫn bên dưới xem sao:
– http://www.tecmint.com/install-rainloop-webmail-in-arch-linux/
– https://www.howtoforge.com/installation-and-configuratio-of-rainloop-webmail-client-with-nginx-on-ubuntu-14.04
có code php nào làm web viewer show tổng visit trên VPS ko a, tức là tổng visit của tất cả website hiện có trên VPS giống như google analytic
Mình chưa biết code nào làm được như vậy cả
Theo bài này: http://www.aljtmedia.com/blog/getting-started-with-php-opcache-memcached-and-varnish-cache-web-accelerator-on-centos-65/
Thì thêm Varnish sẽ tối ưu server hơn a.Luân ơi :d
Varnish chỉ nên cài với webserver Apache thôi, còn bản thân nginx nó xử lý file tĩnh rất tốt rồi nên ko cần cài thêm Varnish làm gì cho tốn RAM.
Link bài hướng dẫn là dùng Apache (httpd)
Cái HocVPS có add thêm IP đc không vậy bạn Luân? Ví dụ ở vultr mình mua thêm IP,thì add thêm kiểu gì ?
Bạn mua IP như bình thường, sau khi add thêm domain trong script bạn chỉ cần trỏ domain đến IP mới là hoạt động bình thường rồi
Anh cho em hỏi nhé
Làm sao để có thể tắt thông báo lỗi trên site
ẩn thông báo lỗi code đó
ví dụ:
Notice: Undefined offset: 1 in /home/public_html/user/index.php on line 23
Notice: Undefined offset: 2 in /home/public_html/user/index.php on line 34
Notice: Undefined variable: out in /home/public_html/inc/template.php on line 135
ví dụ nó lỗi như thế. như em cài centminmod thì nó không hiện
còn cài hocvps script thì nó hiển thị
site thì vẫn chạy oke nhưng nó cứ hiển thị lỗi .
giờ em phải tắt nó ntn anh
mình muốn cấu hình 1 site chạy 2 server. 1 server chạy source, 1 server chạy mysql ; cho m xin từ khóa google để m seach 😀
Tham khảo luôn bài này khỏi cần search nha bạn: https://daivietpda.vn/threads/mo-hinh-web-server-load-balancing-gia-re-voi-digitalocean.188362/
mình cài hết như hướng dẫn từ trên xuống nhưng không thể cấu hình W3 Total Cache chọn phương thức cache là Memcached được, mà nó tự động chọn phương thức Alternative PHP cache
Mình mới cài hocvps trên vps mới và chuyển site từ vps cũ sang. Ở vps cũ mình chọn Alternative PHP cache. Mình đã thử xóa cache, gỡ bỏ plugin rồi cài lại nhưng vẫn không thể chọn Memcached được.
các bạn hướng dẫn xem làm thế nào để chọn đc Mecached với
Mình nghi bạn chưa thực hiện bước cuối: Cài đặt Memcached PHP Module trên CentOS 6 trong bài hướng dẫn cài đặt Memcache
mình chắc chắn đã cài, thậm chí lúc nãy còn cài lại và thử lại trước khi cmt nữa. chả biết nó bị gì nữa. cái đó cứ bị mờ đi 🙁
Gửi thông tin login vps vào admin@hocvps.com mình check xem như thế nào?