Mình rất thất vọng với dịch vụ WordPress của GoDaddy. Số là một số khách của mình trước đây có sử dụng GoDaddy để làm nơi lưu trữ website cũng 1 phần vì tính tiện lợi của nó. Thời gian gần đây 1 số người nhờ mình hỗ trợ tối ưu tốc độ của website do ngày càng chậm. Đó là cơ duyên để mình trải nghiệm và cảm thấy thất vọng về Goddady. [Read more…]
Cách nén và giải nén tệp tin bằng SSH
Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng SSH để nén và giải nén tệp tin trên máy chủ từ xa.
Khi bạn quản lý máy chủ từ xa thông qua SSH, việc nén và giải nén tệp tin có thể rất hữu ích. Điều này giúp tiết kiệm không gian đĩa và dễ dàng chuyển tệp tin giữa các máy chủ. Hãy làm theo các bước dưới đây để nén và giải nén tệp tin bằng SSH.
[Read more…]
Thiết lập đồng bộ Master-Slave trong MySQL
Đồng bộ máy chủ MySQL là quá trình bạn sao chép dữ liệu từ cơ sở dữ liệu từ một máy chủ MySQL (Master) được sao chép tự động đến một hoặc nhiều máy chủ cơ sở dữ liệu MySQL khác (Slave). [Read more…]
Enable Mod_HTTP2 cho Apache sử dụng CWP sử dụng SSH
Okie, nếu bạn sử dụng dịch vụ cloudflare thì hiển nhiên HTTP/2 được hỗ trợ theo mặc định. Tuy nhiên đấy chỉ là phần từ dịch vụ CloudFlare(CF) đến máy máy client thôi. Còn phần từ CF đến máy chủ của mình thì vẫn chạy HTTP/1 do đó giảm đáng kể về hiệu suất và hiệu quả cũng như tốc độ của HTTP/2.
Trong bài này chúng ta sẽ cùng giải quyết bài toán cài đặt và bật HTTP/2 lên trên máy chủ CWP của mình để bài toán được giải quyết từ gốc đến ngọn.
Lọi ích của HTTP/2
Phần lợi ích của protocol HTTP/2 mình không cần phải nói nữa, các bạn chịu khó đọc trên Internet nhé. Có rất nhiều link chia sẻ chi tiết về lịch sử, lý do tại sao HTTP/2 ra đời và những lợi ích của nó so với HTTP/1 là gì. Các bạn tự research và tìm hiểu.
Enable Mod_HTTP2 cho Apache sử dụng CWP
Upgrade Openssl
Đầu tiên cần nâng cấp Openssl lên cái đã:
cd /usr/local/src wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz tar zxvf openssl-1.1.0h.tar.gz cd openssl-1.1.0h ./config --prefix=/usr --openssldir=/usr/lib64 shared make make install |
Upgrade Autoconf
cd /usr/local/src wget https://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz tar zxvf autoconf-latest.tar.gz cd autoconf-* ./configure --prefix=/usr make make install |
UInstall Nghttp2
cd /usr/local/src yum install libtool libuuid-devel libuuid -y git clone https://github.com/nghttp2/nghttp2.git cd nghttp2 autoreconf -i automake autoconf ./configure --prefix=/usr make make install |
Install APR (nếu cần)
cd /usr/local/src rm -rf apr* wget https://archive.apache.org/dist/apr/apr-1.6.5.tar.gz wget https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz tar -xf apr-1.6.5.tar.gz tar -xf apr-util-1.6.1.tar.gz cd /usr/local/src/apr-1.6.5 ./configure --prefix=/usr/local/apr1 make make install cd /usr/local/src/apr-util-1.6.1 ./configure --with-apr=/usr/local/apr1 --prefix=/usr/local/apr-util1 make make install |
Rebuilding Apache với http2
Việc tiếp theo là phải rebuild lại Apache để load thêm module http2 mới cài đặt vào. Việc này có thể làm thông qua giao diện GUI của CPW. Một cách nhanh chóng thì nó được thực hiện như sau:
- Backup file httpd.conf
- Truy cập Apache Settings -> Apache Re-build
- Chọn Select NEW Apache version: và click Next
- Bổ sung –-enable-http2 vào danh sách Additional configuration
- Click Start Compiler và ngồi đợi cho đến khi có thông báo. Việc re-build được thực hiện dưới nền nên bạn có thể rảnh tay đi làm việc khác
Hoặc một cách khác là bạn có thể xóa hết Additional configuration< và thêm vào đoạn sau:
./configure --enable-so --prefix=/usr/local/apache --enable-unique-id --enable-ssl=/usr/local/opensslso --enable-rewrite --enable-deflate --enable-suexec --with-suexec-docroot="/home" --with-suexec-caller="nobody" --with-suexec-logfile="/usr/local/apache/logs/suexec_log" --enable-asis --enable-filter --with-pcre --with-apr=/usr/local/apr1/bin/apr-1-config --with-apr-util=/usr/local/apr-util1/bin/apu-1-config --enable-headers --enable-expires --enable-proxy --enable-rewrite --enable-userdir --enable-http2 |
Enable Mod_http2 Module
Sau khi hoàn tất việc rebuild lại Apache, bạn mở file /usr/local/apache/conf.d/http2.conf và thêm vào đoạn sau:
LogLevel http2:info Protocols h2 h2c http/1.1 |
hoặc là:
LoadModule http2_module modules/mod_http2.so <IfModule http2_module> LogLevel http2:info Protocols h2 h2c http/1.1 </IfModule> |
sau đó chúng ta restart lại Apache
service httpd restart |
Công cụ kiểm tra và xác nhận
Một vài công cụ kiểm tra Online có thể giúp bạn xem thửu website mình đã có hỗ trợ HTTP/2 hay chưa như:
- https://http2.pro/
- https://tools.keycdn.com/http2-test
- https://geekflare.com/tools/http2-test
Tuy nhiên như đã nói ở trên, việc kiểm tra này sẽ không có giá trị nếu như bạn sử dụng một dịch vụ như Cloudflare. Để kiểm tra bạn có thể active module server-status lên. Hoặc đơn giản hơn là tắt proxy của Cloudflare đi mới kiểm tra chính xác được.
Google Tag Manager AJAX Form Tracking
Bài này mình dịch từ bài viết Google Tag Manager AJAX Form Tracking để lưu trữ và học hỏi thêm. Anh em nào có hứng thú về chủ đề này thì tham khảo thêm, biết đâu sau này lại cần. [Read more…]
Cách xây dựng phiên bản Progressive Web App cho web
Progressive Web App (PWA) là dạng web app được xây dựng dựa trên các công nghệ của website, nhưng mang lại trải nghiệm tương tự như Native App. Nhờ vào tính năng của service worker, manifest và https, PWA có thể hoạt động offline ngay cả khi không có mạng. [Read more…]
Viết script tự động restart lại dịch vụ bằng SSH
Một trong những vấn đề hay gặp của mình là mình thường xuyên gặp tình trạng máy chủ bị treo trong quá trình vận hành. Thông thường là do một dịch vụ nào đó hoạt động vượt công suất thông thường dẫn đến treo dịch vụ đó (dễ gặp nhất là mysqld ý). Lỗi hay gặp nhất là Out Of Memory (OOM) do hết RAM. [Read more…]
Chuyển dữ liệu MySQL giữa 2 server bằng SSH
Chuyển dữ liệu(database) MySQL qua lại giữa 2 server được thực hiện khi bạn muốn chuyển đổi website sang một máy chủ khác(có thể là VPS hoặc Dedicated). Bạn có thể thực hiện điều này bằng các download database về máy bằng phpMyAdmin rồi upload lên lại. Hoặc bạn có thể thực hiện bằng SCP(Secure Copy) – một phương pháp chuyển file có nguồn gốc dựa trên SSH.
[Read more…]
Làm thế nào để tối ưu Cumulative Layout Shift(CLS) ?
Thay đổi bố cục có thể gây mất tập trung cho người dùng. Hãy tưởng tượng bạn đang đọc một bài báo, bỗng dưng các thành phần tự dưng nhảy loạn cả lên đẩy bạn đến một vị trí khác, bạn bực mình tìm lại đến đoạn nội dung đang đọc… [Read more…]
- « Previous Page
- 1
- 2
- 3
- 4
- …
- 53
- Next Page »