CHIASE123.COM - Diễn đàn chia sẻ kiến thức

Diễn đàn chia sẻ kiến thức
Thứ Hai, 02:42:36 - 17/02/2025

Thời gian được tính theo giờ UTC + 7 Giờ




Tạo chủ đề mới Gửi bài trả lời  [ 1 bài viết ] 
Người gửi Nội dung
Gửi bàiĐã gửi: 02/04/2015 02:17 
Ngoại tuyến
☀️2/30☀️
☀️2/30☀️
Hình đại diện của thành viên

Ngày tham gia: 08/03/2012 10:56
Bài viết: 15
Đến từ: Hà Giang
Thiết bị: Nokia N96
Số điện thoại: 0367790762
Ở bước này, chúng ta sẽ cùng sửa lại file nginx.conf mặc định trên VPS vì có một số tùy chọn nó sẽ trở nên tốt hơn nếu bạn biết cách cấu hình lại. File nginx.conf này sẽ nằm ở thư mục /etc/nginx/ (nếu bạn làm theo serie này).

Đừng quên chạy lệnh service nginx restart sau khi thay đổi các file cấu hình của NGINX.

I - Tối ưu Nginx

1. Cấu hình worker_procresses và worker_connections

Worker_processes nghĩa là tổng số processes tối đa mà NGINX được phép sử dụng. Thường thì mặc định NGINX sẽ thiết lập sử dụng 1 process như sau:

Mã:
worker_processes 1;


Nhưng tốt hơn hết, bạn nên thiết lập số lượng process ngang bằng với số lượng CPU mà bạn đang có. Để xem số lượng CPU có trên VPS, bạn sử dụng lệnh nproc.

Mã:
[root@lempstack ~]# nproc
1


Còn worker_connections nghĩa là số lượng kết nối được phép sử dụng cho mỗi process. Bạn nên đặt con số này là khoảng từ 1024 đến 5000 là đẹp.

Mã:
worker_connections 2048;


2. Tăng dung lượng request gửi đến server

Nếu bạn sử dụng WordPress thì mỗi khi đăng bài, gửi comment,…đều sẽ gửi một số lượng request nhất định đến server, trong nhiều trường hợp có thể bạn sẽ gửi một request khá lớn như bài viết quá dài chẳng hạn thì bạn nên đặt thêm đoạn sau vào giữa cặp http {...} trong nginx.conf:

Mã:
 client_body_buffer_size 256k;
 client_body_in_file_only off;
 client_body_timeout 60s;
 client_header_buffer_size 64k;
 client_header_timeout  20s;
 client_max_body_size 10m;
 connection_pool_size  512;


Trường hợp bạn vẫn gặp lỗi “Request Entity Too Large” thì nên tăng cái client_max_body_size lên.

3. Bật Gzip

Gzip là phương thức nó sẽ nén lại các dữ liệu mà trình duyệt nhận từ server rồi sau đó mới gửi đến người dùng. Chẳng hạn tổng dung lượng của website bạn là 1.3MB nhưng nếu bật Gzip lên thì dung lượng website chỉ còn khoảng 40kb là cùng, một con số ấn tượng đúng không.

Chèn đoạn sau vào giữa cặp http {…}

Mã:
gzip on;
gzip_vary   on;
gzip_disable "MSIE [1-6]\.";
gzip_static on;
gzip_min_length   1400;
gzip_buffers      32 8k;
gzip_http_version 1.0;
gzip_comp_level 5;
gzip_proxied    any;
gzip_types text/plain text/css text/xml application/javascript application/x-javascript application/xml application/xml+rss application/ecmascript application/json image/svg+xml;


Đó là 3 cách tùy chỉnh NGINX khá đơn giản nhưng hiệu quả rất lớn mà bạn có thể làm. Nhìn chung cấu hình như vậy là đã đủ để chạy một website WordPress với kha khá traffic rồi.

Hôm cuối tuần do mình hơi đuối nên chỉ viết được đến phần 7, bây giờ mình sẽ viết tiếp một phần khá quan trọng để làm cho VPS bạn không phải quá tải CPU do các process của PHP-FPM tạo ra, đó là tùy chỉnh lại các thông tin cần thiết.

Mặc khác, mặc định database của bạn khi cài vào sẽ không hỗ trợ lưu cache các truy vấn từ database nên điều đó có thể sẽ làm website bạn hơi chậm.

II - Tối ưu PHP-FPM

Để tối ưu PHP-FPM, bạn hãy mở file /etc/php.ini ra và tìm:

Mã:
;session.save_path = "/tmp"


Thay thành

Mã:
session.save_path = "/var/lib/php/session"


Sau đó cấp quyền cho user đang thực thi PHP sở hữu thư mục này. Nếu bạn không làm phần 7 thì nó sẽ là nginx:nginx

Mã:
chown -R nginx:nginx /var/lib/php/session


Tiếp tục mở file /etc/php-fpm.d/www.conf, tìm:

Mã:
pm = dynamic


Thay thành

Mã:
pm = ondemand


Tìm

Mã:
pm.max_children = 50


Thay thành

Mã:
pm.max_children = 5


Nếu bạn có VPS chỉ có từ 1 cho tới 3 CPU thì bạn nên thiết lập pm.max_children là 2. Còn nếu nhiều hơn thì nên đặt là 5 chứ đừng để nhiều quá.

Tìm tiếp

Mã:
pm.max_spare_servers = 35


Thay thành

Mã:
pm.max_spare_servers = 5


Tìm tiếp

Mã:
pm.min_spare_servers = 5


Thay thành

Mã:
pm.min_spare_servers = 1


Sau đó khởi động lại PHP-FPM

Mã:
service php-fpm restart


III - Tối ưu MariaDB

Đơn giản là hãy mở file /etc/my.cnf và copy đoạn nội dung này vào dưới !includedir /etc/my.cnf.d

Mã:
[mysqld]
 
key_buffer = 500M
table_cache = 4000
sort_buffer_size = 3M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
max_connections = 400
query_cache_type = 1
query_cache_limit = 5M
query_cache_size = 500M
tmp_table_size=20M
max_heap_table_size=20M
thread_cache_size = 64


Nhớ khởi động lại MySQL

Mã:
service mysql restart


Xong rồi đó. :D

Nguồn: thachpham.com

_________________
Diễn đàn chia sẻ kiến thức máy tính:
KETNOI123.COM

Ấn hiện ra để xem chữ ký của mình:


Đầu trang
 Xem thông tin cá nhân Gửi Email  
 
Hiển thị những bài viết cách đây:  Sắp xếp theo  
Tạo chủ đề mới Gửi bài trả lời  [ 1 bài viết ] 

Thời gian được tính theo giờ UTC + 7 Giờ


Chủ đề tương tự
 Chủ đề   Người gửi   Trả lời   Xem   Bài viết mới nhất 
Không có bài viết chưa xem mới nào trong chủ đề này. [Linux] Hướng dẫn cài đặt Nginx - Php-fpm - MariaDB - APC opcode cache cho vps

nghiammo1992

0

1388

30/03/2014 12:50

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. [Linux CentOS] Installing MariaDB - Cài đặt MariaDB

nghiammo1992

0

986

22/01/2015 14:48

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. Tối ưu hóa NGINX - Optimized nginx.conf configuration

nghiammo1992

0

758

01/01/2021 14:14

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. [Nginx] Chống run shell trên nginx

nghiammo1992

0

1136

19/04/2014 00:29

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. [NGINX] 504 Gateway Time-out - Increasing timeout nginx

nghiammo1992

0

1102

14/03/2016 23:54

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. [APACHE/NGINX] Chuyển hướng 301, www sang non-www trong APACHE/NGINX

nghiammo1992

0

1091

26/03/2016 19:41

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. Hướng dẫn cài ngx_pagespeed kết hợp với Nginx để tăng tốc độ website

nghiammo1992

0

1366

05/05/2015 19:56

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. Tối ưu hóa PHP - Optimized php.ini configuration

nghiammo1992

0

733

29/12/2020 01:20

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. Tối ưu hóa MYSQL và MariaDB - Optimized my.cnf configuration for MySQL/MariaSQL

nghiammo1992

0

1046

04/12/2020 00:16

nghiammo1992 Xem bài viết mới nhất vừa gửi

Không có bài viết chưa xem mới nào trong chủ đề này. Hướng dẫn cài đặt Nginx, PHP, MySQL phiên bản mới nhất trên VPS Linux

nghiammo1992

0

1158

04/05/2015 23:11

nghiammo1992 Xem bài viết mới nhất vừa gửi

 


Ai đang trực tuyến?

Đang xem chuyên mục này: Không có thành viên nào đang trực tuyến5 khách


Bạn không thể tạo chủ đề mới trong chuyên mục này.
Bạn không thể trả lời bài viết trong chuyên mục này.
Bạn không thể sửa những bài viết của mình trong chuyên mục này.
Bạn không thể xoá những bài viết của mình trong chuyên mục này.

Tìm kiếm với từ khoá:
Chuyển đến:  
Đã tích hợp phpBB® Forum Software © phpBB Group
Vietnamese language pack for phpBB 3.0.x download and support.
CHIASE123.COM - Diễn đàn chia sẻ kiến thức