Một vài Thủ thuật tối ưu LAMP server
lamp
2
Apache
12
Male avatar

skul169 viết ngày 10/05/2016

Thủ thuật tối ưu LAMP server

Tận dụng browser caching

Mình sẽ hướng dẫn các bạn cách thêm Expires headers vào file .htaccess để tận dụng browser caching. Phương pháp này giúp giảm thiểu tối đa HTTP request đến server bằng cách sử dụng những file tĩnh như hình ảnh, css, javascript đã lưu trong cache của browser lúc bạn truy cập website lần đầu tiên.

Cách thêm Expires header

Trong ví dụ này mình sẽ thêm header cho một số loại file tĩnh như:

images: jpg, gif, png
favicon/ico
javascript
css

Thời gian lưu cache thì bạn có thể tùy chọn

years
months
weeks
days
hours
minutes
seconds

Đây là đoạn code mình sử dụng, các bạn thêm vào cuối file .htaccess

<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 1 month"

# Javascript
ExpiresByType application/javascript "access plus 1 year"

</IfModule>

Kích hoạt GZIP Compression cho Apache Server

GZIP giúp tối ưu và tăng tốc website bằng cách nén nội dung trả về từ server mỗi khi có request gửi đến.

Để thực hiện, các bạn chỉ cần thêm đoạn sau vào cuối file .htaccess. Apache 1.3 sử dụng mod_gzip trong khi Apache 2.x sử dụng mod_deflate.

Cấu hình mod_gzip cho Apache 1.3.x

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

Cấu hình mod_deflate cho Apache 2.x

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
# Don't compress
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
#Dealing with proxy servers
<IfModule mod_headers.c>
Header append Vary User-Agent
</IfModule>
</IfModule>

Để test lại xem đã thành công hay chưa các bạn sử dụng tool http://redbot.org, điền link site bạn vào và tìm xem có dòng Content-Encoding: gzip trong kết quả trả về là được.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

Male avatar

skul169

27 bài viết.
5 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
Male avatar
6 6
Cấu hình Nginx làm Reverse Proxy cho Apache 1.Cài đặt Apache Nếu VPS chưa được cài đặt Apache thì bạn dùng lệnh sau để cài đặt: yum install http...
skul169 viết 2 năm trước
6 6
Male avatar
4 0
Khi cần lấy data trong DB trên môi trường test của khách hàng thì bắt buộc phải sử dụng lệnh command line. Thường thì sẽ dùng một trong các patter...
skul169 viết 2 năm trước
4 0
Male avatar
2 0
Trong PHP, nếu bạn muốn save file trùng tên nhau thì gán thêm số thứ tự kèm theo, ví dụ như test_1.txt] (để tránh việc bị ghi đè lên file cũ) thì h...
skul169 viết gần 2 năm trước
2 0
Bài viết liên quan
White
3 1
Cài đặt LAMP trên Ubuntu LAMP là một nhóm các phần mềm mã nguồn mở được cài đặt cùng nhau để xây dựng môi trường web server : Hệ điều hành Linu...
Nguyễn Tuấn Anh viết gần 2 năm trước
3 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
27 bài viết.
5 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!