Sau khi cài đặt xong LEMP trên CentOS, bạn sẽ cần thực hiện một số tùy chỉnh để đảm bảo hệ thống hoạt động nhanh hơn, tăng tốc website. Bên dưới là một số thao tác mình thực hiện mỗi khi cài đặt server.

1. Kích hoạt Gzip Compression

Mở file cài đặt nginx

sudo nano /etc/nginx/nginx.conf

Chỉnh phần cài đặt gzip

...
http {
...

# enable gzip compression
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# end gzip configuration
}
...

Reload nginx

sudo /etc/init.d/nginx reload

2. Make Browsers Cache Static Files On nginx

Mở file virtual host mặc định hoặc file custom của bạn

sudo nano /etc/nginx/conf.d/default.conf

Thay đổi cài đặt như bên dưới.

[...]
server {
        [...]
        location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$  {
              expires 365d;
        }
        [...]
}
[...]

Reload nginx

sudo /etc/init.d/nginx reload

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

12 Comments

  1. sinhle 20 comment

    Chào ad,
    Xin được hỗ trợ. file “sudo nano /etc/nginx/nginx.conf” của mình như thế này

    user nginx;
    worker_processes 1;
    worker_rlimit_nofile 260000;

    error_log /var/log/nginx/error.log warn;
    pid /var/run/nginx.pid;

    events {
    worker_connections 2048;
    accept_mutex off;
    accept_mutex_delay 200ms;
    use epoll;
    #multi_accept on;
    }

    http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
    ‘$status $body_bytes_sent “$http_referer” ‘
    ‘”$http_user_agent” “$http_x_forwarded_for”‘;

    #Disable IFRAME
    add_header X-Frame-Options SAMEORIGIN;

    #Prevent Cross-site scripting (XSS) attacks
    add_header X-XSS-Protection “1; mode=block”;

    #Prevent MIME-sniffing
    add_header X-Content-Type-Options nosniff;

    access_log off;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay off;
    types_hash_max_size 2048;
    server_tokens off;
    server_names_hash_bucket_size 128;
    client_max_body_size 0;
    client_body_buffer_size 256k;
    client_body_in_file_only off;
    client_body_timeout 60s;
    client_header_buffer_size 256k;
    client_header_timeout 20s;
    large_client_header_buffers 8 256k;
    keepalive_timeout 10;
    keepalive_disable msie6;
    reset_timedout_connection on;
    send_timeout 60s;

    # enable gzip compression
    gzip on;
    gzip_disable “msie6”;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json text/javascript application/javascript text/xml $

    fastcgi_buffers 8 16k;
    fastcgi_buffer_size 32k;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;

    include /etc/nginx/conf.d/*.conf;
    }

    —————–
    Nhưng khi mình chạy sudo /etc/init.d/nginx reload
    thì vps luôn báo lỗi:
    [root@vultr home]# sudo /etc/init.d/nginx reload
    Reloading nginx: [FAILED]
    [root@vultr home]#

    Rất mong được trợ giúp.
    Cảm ơn!

  2. sinhle 71 comment

    cái sudo nano /etc/nginx/conf.d/default.conf của mình nó trống rỗng không có gì. mình đang dùng hocvps. Có phải do mình xóa rồi hay không nhỉ? Nếu phải xin cho mình xin lại nội dung file đó.
    Cảm ơn

    1. Việt Phương Moderator

      HocVPS cấu hình tối ưu luôn các phần này từ mặc định rồi bạn à. Các website khi tạo mới bằng HocVPS script đều có phần này trong cấu hình Nginx bạn nhé. Bạn có thể kiểm tra ở 1 file cấu hình Nginx của 1 domain cụ thể đều có

      1. Nhật Minh 15 comment

        À mình fix được rồi, sau khi đọc log của nginx mình thấy nó trỏ vào etc/nginx/html… vì vậy mình thay đoạn của bạn bằng

        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        root /home/www/domain.com/public_html;
        expires 365d;
        }

  3. Nguyễn Duy 10 comment

    Cái này làm sao biết nó hoạt động chưa hả bác, em check ở Google Page Speed vẫn bị 38 / 100. Cái đầu tiền là lỗi Leverage browser caching – set expiry date cho images file. Em đã làm như ở trên mà không thấy hết. 🙁

    1. Luân Trần Admin

      Nếu đã làm theo bước 2 thì sẽ ko gặp vấn đề Leverage browser caching – set expiry date nữa nhé 😀