VestaCP là một control panel free được các webmaster sử dụng phổ biến khi thiết lập trên VPS của mình để quản lý các website thông qua giao diện đơn giản dễ dùng và đẹp mắt.

VestaCP tương thích hầu hết trên các hệ điều hành RHEL 5, RHEL 6, CentOS 5, CentOS 6, CentOS 7, Debian 7, Debian 8, Ubuntu 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10, Ubuntu 14.04, and Ubuntu 16.04.

Và bài viết hôm nay mình sẽ hướng dẫn bạn một cách cơ bản để tăng tốc VestaCP.

Bước 1: Nâng cấp PHP

Trước khi bắt đầu bạn hãy chắc chắn rằng hệ thống của bạn được cập nhật

# yum update
  • Tiếp đến bật  để bạn có thể nâng cấp VestaCP lên PHP 7
# yum-config-manager --enable remi-php70
  • Cập nhật hệ thống một lần nữa bằng cách sử dụng lệnh bên dưới, sẽ nâng cấp mọi gói PHP lên PHP 7
# yum update
  • Tiếp theo bạn khởi động lại dịch vụ php-fpm
# systemctl restart php-fpm

Bước 2: Cài đặt Opcache

  • Bạn thực hiện cài đặt Opcache bằng lệnh sau
# yum install php-opcache
  • Khởi động lại dịch vụ php-fpm
# systemctl restart php-fpm
  • Khởi động lại nginx
# systemctl restart nginx
  • Sau đó bạn kiểm tra xem Opcache đã được kích hoạt chưa bằng cách chạy lệnh grep bên dưới
# php -i | grep opcache.enable
Output

opcache.enable => On => On

Bước 3: Nâng cấp MariaDB

Trước khi nâng cấp bạn cần thực hiện sao lưu lại toàn bộ cơ sở dữ liệu. Thay vì mysqldump như thông thường thì VestaCP CLI hỗ trợ bạn sao lưu full user bạn có thể sao lưu toàn bộ user như sau

# v-backup-users
  • vd: # v-backup-users dotrungquan

Để thực hiện Restore từ user đã backup thực hiện sau

# v-list-user-backups 
  • vd: # v-list-user-backups 
# v-restore-user dotrungquan dotrungquan.2019-12-12_18-49-56.tar
  • Lưu ý: thay đổi dotrungquan bằng tên user của bạn trên VestaCP
  • Link HD: Backup/Restore user VestaCP

Quay lại việc nâng cấp MariaDB, bạn nâng cấp MariaDB, bắt đầu bằng cách xóa phiên bản MariaDB cũ đi

# yum remove mariadb mariadb-server
  • Mở file MariaDB.repo và thêm đoạn bên dưới vào.
# vi /etc/yum.repos.d/MariaDB.repo
# Used to install MariaDB 10 instead of default 5.5
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
  • Bạn cập nhật lại hệ thống
# yum update
  • Tiếp hành cài đặt MariaDB 10
# yum install mariadb mariadb-server
  • Sau khi hoàn tất bạn khởi chạy MariaDB bằng lệnh sau và kích hoạt MariaDB khi khởi động
# systemctl start mariadb
# systemctl enable mariadb.service

Bước 4: Cài đặt Redis

Redis là một kho lưu trữ cấu trúc dữ liệu trong bộ nhớ chủ yếu được sử dụng làm cơ sở dữ liệu và bộ đệm; Có thể đạt được lợi ích lớn về tốc độ bằng cách định cấu hình Redis để lưu trữ các trang của bạn hoặc lưu vào các hàng cơ sở dữ liệu của bạn.

Cài đặt Redis bằng cách nhập lệnh dưới đây.

  • Kích hoạt gói và cài đặt Redis
# yum install --enablerepo=remi php-redis
# yum install redis
  • Khởi chạy Redis
# systemctl start redis
# systemctl enable redis.service

Bước 5: Cấu hình với WordPress

Nếu bạn sử dụng Redis cho WordPress của mình, thì WordPress sẽ yêu cầu một extension php-redis để cấu hình cho WordPress, vì vậy bạn cần cài đặt gói như sau

# yum install php-devel
  • Cài đặt extension PHP Redis
# pecl install redis

Hệ thống sẽ hỏi enable igbinary serializer support? [no] bạn bấm Enter nhé

Khi cài đặt hoàn tất PHP Redis bạn hãy mở file php.ini lên và thêm vào trong file dòng sau

# vi /etc/php.ini
extension=redis.so
  • Khởi động lại php-fpm để thay đổi
# systemctl restart php-fpm

Sau đó bạn đăng nhập vào WordPress và cài đặt Plugin W3 Total Cache để cài cache. Trong cấu W3 Total Cache bạn chọn Redis làm cache cho trang và cơ sở dữ liệu.

  • Sau đó thực hiện khởi động lại nginx
# systemctl restart nginx
  • Tiếp đến bật thêm monitor redis
redis-cli monitor
  • Bạn mở trình duyệt web lên để kiểm tra
Output

1510462482.538685 [0 127.0.0.1:48166] "GET" "w3tc_dotrungquan.info_0_dbcache_0eacdb46b225fbe864f35d73500d5b5f"
1510462482.539190 [0 127.0.0.1:48166] "SETEX" "w3tc_dotrungquan.info_0_dbcache_0eacdb46b225fbe864f35d73500d5b5f" "180" "a:7:{s:10:\"last_error\";s:0:\"\";s:10:\"last_query\";s:205:\"SELECT wp_comments.comment_ID FROM wp_comments WHERE ( comment_approved = '1' ) AND comment_post_ID = 1 AND comment_parent IN ( 1 ) ORDER BY wp_comments.comment_date_gmt ASC, wp_comments.comment_ID ASC \";s:11:\"last_result\";a:0:{}s:8:\"col_info\";a:1:{i:0;O:8:\"stdClass\":13:{s:4:\"name\";s:10:\"comment_ID\";s:7:\"orgname\";s:10:\"comment_ID\";s:5:\"table\";s:11:\"wp_comments\";s:8:\"orgtable\";s:11:\"wp_comments\";s:3:\"def\";s:0:\"\";s:2:\"db\";s:14:\"admin_admin_wp\";s:7:\"catalog\";s:3:\"def\";s:10:\"max_length\";i:0;s:6:\"length\";i:20;s:9:\"charsetnr\";i:63;s:5:\"flags\";i:49699;s:4:\"type\";i:8;s:8:\"decimals\";i:0;}}s:8:\"num_rows\";i:0;s:10:\"return_val\";i:0;s:11:\"key_version\";i:1;}"
1510462482.542520 [0 127.0.0.1:48166] "GET" "w3tc_dotrungquan.info_0_dbcache_b8bd04fe419b1c9d747a8bccb997d588"
1510462482.543239 [0 127.0.0.1:48166] "GET" "w3tc_ dotrungquan.info_0_dbcache_a8b6d316b4c822ac63eaf77731ed617b"
1510462482.543760 [0 127.0.0.1:48166] "GET" "w3tc_dotrungquan.info_0_dbcache_53058f6b83972cfc3253e30ef06fcaa9"
1510462482.544272 [0 127.0.0.1:48166] "GET" "w3tc_dotrungquan.info_0_dbcache_276679217e6dc451b6353e7a1901990c"