4 thủ thuật tối ưu website sử dụng Hosting cPanel

Nếu bạn sử dụng Shared Web Hosting, gần như chắc chắn sẽ dùng cPanel để quản lý. Tuy nhiên, bạn đã biết cách tối ưu cấu hình để sử dụng hosting hiệu quả hơn chưa? Hãy tham khảo một số thủ thuật trong bài viết này nhé.

cPanel vô cùng phổ biến trên thế giới vì dễ dàng sử dụng, phù hợp với rất nhiều đối tượng người dùng khác nhau. Bài viết này mình dựa theo giao diện cPanel 64.0.20 của Hawk Host, những nhà cung cấp khác cũng thực hiện tương tự.

I. Tối ưu PHP 7.1

1. Lựa chọn phiên bản PHP 7.1

Các nhà cung cấp hosting thường lựa chọn PHP 5.6 mặc định, vì phiên bản đã xuất hiện từ lâu, khả năng tương thích với các loại mã nguồn cao hơn so với PHP 7.0 hay PHP 7.1.

Tuy nhiên, nếu bạn đang sử dụng WordPress, Joomla, Magento…, hãy lựa chọn phiên bản PHP 7.1 thay thế cho PHP 5.6. Bởi vì những loại mã nguồn thông dụng này được update liên tục, đảm bảo tương thích 100% với PHP mới nhất, tất nhiên phải trong điều kiện bạn thường xuyên update version.

Theo một số nghiên cứu đánh giá, WordPress sử dụng PHP 7 cho hiệu năng hoạt động cao gấp 3 lần so với PHP 5.6. Một điểm lưu ý nữa, phiên bản PHP 5.6 hiện nay đã ngừng phát triển, chỉ còn hỗ trợ những bản vá bảo mật nguy hiểm mà thôi. Xem thêm PHP Supported Versions.

Sử dụng PHP 7 là xu thế tất yếu, nếu code của bạn chưa tương thích tốt, lời khuyên của mình là hãy dành thời gian để tối ưu, thay thế các function đã deprecated, tận dụng tối đa sức mạnh của PHP 7.

Hầu hết các nhà cung cấp hosting đều cho phép bạn chuyển đổi giữa các phiên bản PHP. Trong cPanel, bạn hãy chọn Select PHP Version.

Tiếp theo lựa chọn PHP Version 7.1 (hoặc PHP 7.0) và nhấn nút Set as current.

2. Kích hoạt một số extension cần thiết

PHP 7.1 đi kèm một số extension giúp nâng cao hiệu suất hoạt động của website lên rất nhiều, ví dụ như Zend Opcache, Memcached. Những extension này mà không biết kích hoạt khi xài cPanel thì quá uổng.

Vẫn trong trang PHP Selector | extensions, bạn hãy click lựa chọn thêm opcache và memcached rồi nhấn Save để lưu. Xem hình bên trên.

Opcache là một extension rất quan trọng, giúp những file .PHP không cần phải biên dịch lại mỗi khi chạy, tăng tốc độ xử lý và phản hồi của website. Opcache thì chỉ cần kích hoạt là chạy, không cần cấu hình gì thêm. Extension này gần như bắt buộc bạn phải kích hoạt khi sử dụng hosting nha, lưu ý.

Memcached cache query, giúp giảm tải cho MySQL Server, tùy nhà cung cấp hosting có hỗ trợ hay không mà bạn có thể kích hoạt được. Xem thêm hướng dẫn sử dụng Memcached với Hawk Host.

Lưu ý: một số nhà cung cấp hosting không đưa ra những lựa chọn extension mặc định khi kích hoạt PHP 7, bạn cần tick chọn lại như hình này rồi nhấn nút Save thì website mới hoạt động được.

3. Cấu hình lại các tham số cần thiết

Ngoài việc thay đổi phiên bản PHP mặc định, bạn còn có thể cấu hình lại các thông số của PHP để phù hợp hơn với nhu cầu sử dụng thực tế.

Vẫn trong trang Select PHP Version, bạn hãy nhấn vào link Switch to PHP Options. Những thông số bạn được phép điều chỉnh sẽ xuất hiện:

Những thông số đã được điều chỉnh lại sẽ có màu xanh lá cây, còn mặc định là màu xám.

Ý nghĩa của một số option như sau:

  • allow_url_fopen: Cho phép sử dụng hàm fopen.
  • date.timezone: Thay đổi múi giờ mặc định trong PHP.
  • display_errors: Bật/tắt hiển thị lỗi PHP ra ngoài website.
  • error_reporting: Tùy chọn các lỗi PHP được báo cáo.
  • file_uploads: Cho phép upload qua PHP.
  • include_path: Đường dẫn lưu cấu hình PHP, không nên thay đổi.
  • log_errors: Bật tắt file log, nên bật để kiểm tra lỗi (nếu có) khi lên PHP 7.
  • mail.force_extra_parameters: Thêm các tham số tùy chỉnh khi gửi mail.
  • max_execution_time: Tùy chỉnh thời gian tối đa để thực thi PHP.
  • max_input_time: Thời gian tối đa để PHP phân tích dữ liệu nhập vào, -1 là không giới hạn.
  • max_input_vars: Giới hạn số lượng tham số truyền vào.
  • memory_limit: Bộ nhớ tối đa mà PHP được phép sử dụng.
  • open_basedir: Thiết lập đường dẫn thư mục mà PHP được phép thực thi, để trống để sử dụng thiết lập mặc định của máy chủ.
  • post_max_size: Thiết lập kích thước dữ liệu tối đa được gởi đi.
  • session.save_path: Thiết lập thư mục chứa session trong PHP.
  • short_open_tag: Cho phép PHP sử dụng thẻ mở rút gọn <? thay vì <?php.
  • upload_max_filesize: thiết lập kích thước tập tin tối đa được phép tải lên máy chủ thông qua PHP.

Sau khi thay đổi, nhấn Save để lưu.

Chú ý:

Trước khi lên PHP 7, các bạn có thể sử dụng plugin WordPress PHP Compatibility Checker để kiểm tra tính tương thích của những plugin đang dùng.

Nếu lên PHP 7 mà gặp lỗi trắng trang, không hiện thông báo gì cụ thể thì cần mở file error_log ở thư mục public_html để kiểm tra vấn đề và khắc phục.

Trường hợp cuối cùng không xử lý được, bạn chỉ cần quay trở lại phiên bản PHP cũ là xong.

II. Kích hoạt Let’s Encrypt

Có khoảng 1/3 số website trên thế giới đã chuyển sang sử dụng giao thức HTTPS thay vì HTTP và con số này vẫn đang tiếp tục tăng vì những lợi ích mà HTTPS mang lại. Thật tuyệt vời khi chúng ta có thể sử dụng SSL hoàn toàn miễn phí, kích hoạt trực tiếp ngay trong cPanel với sự hỗ trợ từ Let’s Encrypt.

Mặc định chứng chỉ được kích hoạt có thời gian sử dụng 3 tháng, tuy nhiên cPanel hỗ trợ bạn tự động gia hạn luôn, nên sau khi kích hoạt xong bạn yên tâm sử dụng free forever thôi, không phải lo nghĩ gì nữa.

Ngoài việc bảo mật dữ liệu truyền tải giữa người dùng và máy chủ, có một lợi ích rất lớn mà nhiều bạn không để ý tới khi sử dụng Let’s Encrypt kích hoạt qua cPanel, đó là HTTP 2.

HTTP 2 là phiên bản nâng cấp của giao thức truyền tải HTTP/1.1 cũ kĩ ra đời từ năm 1999 mà chúng ta đang sử dụng ngày nay. HTTP 2 giúp trang web tải nhanh hơn từ 3 tới 10 lần, các kết nối có thời gian “sống” dài hơn, nội dung xuất hiện nhanh hơn, hỗ trợ nhiều kết nối song song. Trực tiếp trải nghiệm tốc độ HTTP/1.1 với HTTP/2 tại đây.

Sau khi kích hoạt Let’s Encrypt, kiểm tra quá trình load site sử dụng Developer Tools, bạn sẽ thấy toàn bộ dữ liệu hình ảnh, file .js, file .css đều đã chuyển sang sử dụng giao thức HTTP 2. Không cần cấu hình gì thêm.

Với quá nhiều lợi ích đi kèm như vậy, chả có lí do gì để chần chừ nữa cả, bạn hãy nhanh chóng kiểm tra xem nhà cung cấp dịch vụ hosting của bạn có hỗ trợ không và kích hoạt ngay Let’s Encrypt nhé.

III. Kích hoạt LiteSpeed Cache

LiteSpeed Webserver là sự thay thế hoàn hảo cho Apache, nó có tốc độ xử lý nhanh hơn 900% so với Apache khi xử lý dữ liệu tĩnh và nhanh hơn 50% khi xử lý những request PHP.

Khi đã sử dụng LiteSpeed, đa phần các nhà cung cấp sẽ kích hoạt thêm tính năng caching mạnh mẽ LiteSpeed Cache, hoạt động tương tự như mod_cache của Apache nhưng có hiệu năng vô cùng mạnh mẽ như Varnish Cache vậy.

Vì cache ở tầng server nên LiteSpeed Cache sẽ hoạt động hiệu quả hơn so với cache ở tầng ứng dụng application.

Một số nhà cung cấp Hosting sử dụng LiteSpeed Web Server các bạn có thể lựa chọn đăng ký như: Hawk Host, StableHost, AZDIGI

Kích hoạt LiteSpeed Cache với WordPress

Để sử dụng được cache đầu tiên bạn phải thay đổi đường dẫn mặc định Permalink của WordPress sang dạng custom khác, ví dụ như Post name:

Tiếp theo cài đặt và kích hoạt plugin LiteSpeed Cache:

Plugin sẽ tự động kích hoạt tính năng cache, để cấu hình thêm bạn có thể vào phần Settings của LiteSpeed Cache. Kiểm tra cache có hoạt động không bằng tool check header, lần đầu request bạn có thể thấy X-LiteSpeed-Cache => miss, nhưng từ request thứ 2 sẽ trả về X-LiteSpeed-Cache => hit. Vậy là LiteSpeed Cache hoạt động rồi đó.

Kích hoạt LiteSpeed Cache với những code khác

Với những code khác, nếu không có plugin tương ứng đi kèm, bạn chỉ cần thêm đoạn code bên dưới lên đầu file .htaccess là xong:

<IfModule LiteSpeed>
CacheLookup public on
</IfModule>

Một số nhà cung cấp sử dụng LiteSpeed Webserver có hỗ trợ cache như Hawk Host, StableHost, AZDIGI

IV. Tối ưu Browser Caching

Cả Apache và LiteSpeed Webserver đều hỗ trợ file .htaccess, bạn có thể tận dụng để tối ưu Browser Caching, yêu cầu trình duyệt không load lại những file tĩnh, ít thay đổi như JS, CSS, ảnh và các file media khác (pdf, flash,…) mỗi khi có request.

Mở file .htaccess ở thư mục gốc của website, chèn đoạn code sau vào bên dưới:

<IfModule mod_expires.c>
 # Enable expirations
 ExpiresActive On 
 # Default directive
 ExpiresDefault "access plus 1 month"
 # My favicon
 ExpiresByType image/x-icon "access plus 1 year"
 # Images
 ExpiresByType image/gif "access plus 1 month"
 ExpiresByType image/png "access plus 1 month"
 ExpiresByType image/jpg "access plus 1 month"
 ExpiresByType image/jpeg "access plus 1 month"
 # CSS
 ExpiresByType text/css "access plus 1 month"
 # Javascript
 ExpiresByType application/javascript "access plus 1 month"
</IfModule>

Để kiểm tra, bạn hãy dùng tool check header với 1 URL là file ảnh hoặc CSS, nếu thấy header có chứa Cache-Control và Expires cộng thêm 1 tháng là thành công:

Hi vọng với bài viết này, các bạn sẽ sử dụng được hosting hiệu quả hơn. Nếu biết thêm thủ thuật nào khác, hãy chia sẻ bằng cách để lại comment bên dưới nha.

Cập nhật 2 tháng trước

Comment của bạn

110 Comments on "4 thủ thuật tối ưu website sử dụng Hosting cPanel"

avatar

Sắp xếp theo:   mới nhất | cũ nhất
Trung Nguyen2 năm gắn bó cùng Canh Me
Trung Nguyen
19 comment

Mình đang dùng hosting share statble database singapore. Mặc định họ để có php 5.3 bây giờ muốn chọn lên 7.1 thì tick những mực nào? Luân có thể chụp lên một tùy chọn cơ bản, tốt nhất cho wordpress được k?
Thks!

Anh
Anh
6 comment
Chào Anh Luân, em có một câu hỏi mong anh giúp đỡ ( Em hầu như không có kinh nghiệm gì với website cả,hiện nay Em chỉ biết mỗi wp-admin để đăng các bài page và post thôi nên mong Anh chỉ chi tiết dùm) Em muốn copy một trang landing page tới website wordpress của mình Em biết dùng HTTrack để download trang landing page đó và dùng Filezilla để upload lên host của WordPress (Host của Em là gói 12$ Goddady nên không có Cpanel) nhưng Em không biết sau khi đã upload lên host rồi thì Em… Read more »
Zanaking King
Zanaking King
2 comment

Dear !
Luân cho hỏi cái web http://canho24h.net.vn/
Mình tối ưu đủ kiểu vẫn chậm à.
Có phải cấu hình sai

Minh Thành
11 comment

Anh Luân, nếu mình dùng hosting hawkhost thì wordpress có cần cài LiteSpeed Cache không?
Thanks anh

James Hoang
James Hoang
1 comment

Bạn Luân Trần cho mình hỏi HOST có sever nước Mỹ nào tốt nhất vậy? Mình làm chủ yếu dành cho người nước ngoài.
Cảm ơn các bài viết có ích của bạn! clap

Tân
Tân
36 comment

Luân ơi, sau mình check thử header nó không hiện “X-LiteSpeed-Cache : hit” mà nó hiện ra như thế nào:
X-LiteSpeed-Cache-Control : public,max-age=28800
X-LiteSpeed-Tag : B1_URL.bb92d87f7431378628db744352e4711d,B1_T.416,B1_

Đây là header của site mình:
HTTP/1.0 200 OK
Cache-Control : public, max-age=2592000
Expires : Tue, 04 Jul 2017 03:02:52 GMT
Content-Type : text/html; charset=UTF-8
Link : ; rel=”https://api.w.org/”
X-LiteSpeed-Cache-Control : public,max-age=28800
X-LiteSpeed-Tag : B1_URL.bb92d87f7431378628db744352e4711d,B1_T.416,B1_
Date : Sun, 04 Jun 2017 03:02:52 GMT
Accept-Ranges : bytes
Server : LiteSpeed
Connection : close

Quân
Quân
3 comment

PHP Fatal error: Redefinition of parameter $options in /home/careviet/thuexekhanhthy.com/wp-content/themes/sw_maxshop/lib/one-click-install/importer/radium-importer.php on line 272 ai chỉ giúp mình cách sửa với

Hoang Phung3 năm gắn bó cùng Canh Me
63 comment

Xin cho mình hỏi, khi update verion php lên 7.0 hoặc 7.1 web mình bị lỗi, web wordpress thì lỗi 2 còn 1 web bình thường nhĩ, trong khi đều update theme lên 4.7.5. CÓ khi nào do plugin chưa update ko nhĩ
Ai giúp mình với

Tuấn
9 comment

Em cảm ơn anh. Đã tối ưu trên hawkhost. Chạy nhanh hơn rất nhiều

Toan1 năm gắn bó cùng Canh Me
Toan
19 comment

Chả hiểu sao mình lên PHP 7.1 từ 5.3 mà bị lỗi trang chủ (theme adrenalin) không hiển thị sản phẩm, mấy trang con thì lại bình thường.

huy
37 comment

không hiểu em cài lên 7.1 thì không vào được đăng nhập báo missing mysql, em hoảng quá đành chuyển lại 5.4 như mặc định anh à! cry

David4 năm gắn bó cùng Canh MeLevel 2
257 comment

Em đang sài Plesk Onyx 17.5.3 sau khi đã upgrade từ Plesk 12.5 trở lên thì không thấy có PHP 7.0 và PHP 7.1. Em xin hỏi các cụ dùng lệnh nào để nâng cấp lên PHP 7 ạ?

David4 năm gắn bó cùng Canh MeLevel 2
257 comment

Mà cho em hỏi nếu đã có WP rocket mà + LiteSpeed thì có bị xung đột không?

Vỹ SpiritLevel 6
651 comment

Bác dưới vừa hỏi xong laugh
LS Cache nó cũng là 1 plugin cache nên dùng chung với WP Rock sẽ gây cung đột đó bác, tốt nhất dùng cái nào 1 cái thôi.

David4 năm gắn bó cùng Canh MeLevel 2
257 comment

Server em nó có sẵn LiteSpeed Webserver rồi, còn trong WP thì em chỉ có cài WP rocket thôi, chưa cài LiteSpeed plugins.

Vỹ SpiritLevel 6
651 comment

Vậy thì ko sao đâu bác, tưởng bác cài thêm LS Cache thì nó mới xung đột thui.

Khuong1 năm gắn bó cùng Canh Me
31 comment

Cho mình hỏi. Web mình sài plugin tạo cache rồi thì dùng thêm litespeed cache nữa có bị ảnh hưởng gì không

Vu Huong1 năm gắn bó cùng Canh Me
Vu Huong
55 comment
Không liên quan lắm, nhưng mình thấy hawkhost giờ có vẻ chậm hơn cả stable host (cùng hongkong), trước mình mua hawkhost đợt blackfriday. giờ mới thử so được 2 cái host này, hawkhost thỉnh thoảng bị lỗi kết nối database, mình mở phpadmin cũng lâu, và tải về thì lỗi liên tục, mình tải chục lần mới được ( 2 cái mình đều cấu hình như bài này, (mình dùng wordpress) và đã thử cùng code và db . stable host thì chạy khá nhanh, tùy theme mà trugn bình khoảng 3, 4s, theme nhẹ như của mythemeshop ecommerce… Read more »
steven
5 comment

Thỉnh thoảng mình cũng hay bị database

Vu Huong1 năm gắn bó cùng Canh Me
Vu Huong
55 comment

uh, không biết stablehost hk tương lai có bị thế không sad

Nghi Nguyễn
4 comment

Chào Luân. Cho hỏi vì sao sau khi mình lựa chọn phiên bản PHP 7.1 thay thế cho PHP 5.6, thì tab Plugin trong WP Admin area mất đi tính năng Editor vậy? Cảm ơn bạn

Uy Nguyen
14 comment

Vừa chọn PHP 7.1 set as default thì tất cả website trên host em không vào được và có dòng này Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
Người nông dân phải làm sao đây ạ sad

Vỹ SpiritLevel 6
651 comment

Bạn tải plugin PHP Compatibility Checker về kiểm tra tính tương thích của website bạn xem thử xem có cài nào ko tương thích ko?

Uy Nguyen
14 comment

chỉnh về lại 5.6 thì ok rồi sad haizz, dù sao cũng cảm ơn anh Luân vì tút này

Dương Nguyễn
Dương Nguyễn
7 comment

Dùng WP Fastest Cache rồi chắc khỏi phải dùng cái browers caching này

Minh Vuong Tech
5 comment

Không cần nữa bạn ạ. Dùng nhiều plugin nó lại xung đột.

Dung
8 comment

Mình nâng cấp lên PHP 7.1 gặp lỗi trắng trang: wp-content/themes/republic/single.php on line 21
Chỉ mình cách khắc phục

Nghi Nguyễn
4 comment

Chào Luân. Cho hỏi mình xài HawkHost, phiên bản PHP 7.1 thì nên dùm tính năng Memcached kết hợp plugin LiteSpeed Cache cho WordPress hay dùng plugin WP Rocket? Cái nào tốt hơn? Cảm ơn bạn

Phúc Trân Xuân
Phúc Trân Xuân
1 comment

sao mình chuyển sang phiên bản 7.1 lúc vào lại web login vô admin lại báo lỗi “is currently unable to handle this request” “http error 500” vậy bạn

wpDiscuz