Nội dung
- 1 Hiệu suất sử lý WordPress trên LAMP?
- 2 Mẹo 1 – Sử dụng tài nguyên tĩnh Cache
- 3 Mẹo 2: Cache tệp tin động
- 4 Mẹo 3: Chuyển sang Nginx
- 5 Mẹo 4: Thêm Permalink với nginx
- 6 Mẹo 5: cấu hình NGINX cho FastCGI
- 7 Mẹo 6: Cấu hình NGINX cho W3 Total Cache
- 8 Mẹo 7: Cấu hình NGINX cho WP Super Cache
- 9 Mẹo 8: Thêm bảo mật cho cấu hình NGINX của bạn
- 10 Mẹo 9: Sử dụng NGINX cho WordPress Multisite
- 11 Kết luận
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
WordPress là nền tảng phổ biến nhất để tạo ra mọi trang web trên toàn thế giới. Hơn 1/4 của tất cả các trang web hiện được xây dựng trên nền tảng mã nguồn mở WordPress, bao gồm các trang web cho eBay, Mozilla, RackSpace, TechCrunch, CNN, MTV, New York Times, Wall Street Journal.
Bạn có 2 lựa để bắt đầu một trang web WordPress. Cách dễ dàng nhất là đăng ký một tài khoản miễn phí tại WordPress.com & bạn đã có một trang web WordPress với giao diện mặc định. Tuy nhiên, nếu bạn sử dụng website trong một thời gian dài chắc chắn bạn sẽ thấy có nhiều hạn chế ở WordPress.com. Bạn muốn sở hữu một trang web với thiết kế của riêng mình? muốn thuê đơn vị thiết kế web WordPress chuyên nghiệp để biến ý tưởng của bạn thành công. Rất may mắn, WordPress là mã nguồn mở bạn có thể tự do sử dụng và thiết kế. Trong số các khách hàng WordPress, nhiều trang web bắt đầu trên WordPress.com và sau đó chuyển sang phần mềm nguồn mở WordPress được lưu trữ ở hosting. Tuy nhiên, ngày càng có nhiều trang WordPress sử dụng phần mềm NGINX.FastCGI
Trong bài viết này, mình đưa ra 9 mẹo để giúp bạn tăng tốc WordPress.
Hiệu suất sử lý WordPress trên LAMP?
Hầu hết các trang web WordPress đều chạy trên phần mềm LAMP truyền thống: Linux là hệ điều hành, Apache HTTP Server là máy chủ web, MySQL là phần mềm cơ sở dữ liệu – thường trên một máy chủ cơ sở dữ liệu riêng biệt – PHP là ngôn ngữ lập trình. Bộ công cụ này gọi là LAMP.
Khi người dùng truy cập trang web WordPress, trình duyệt chạy kết hợp Linux / Apache sẽ tạo ra 6 đến 8 kết nối cho mỗi người dùng. Khi người dùng truy cập nhiều trang hơn, PHP sẽ tập hợp từng trang một cách nhanh chóng & lấy tài nguyên từ cơ sở dữ liệu MySQL để phản hồi các yêu cầu trả về trình duyệt.
Bộ LAMP hoạt động khá tốt, đáp ứng từ một vài đến hàng trăm người dùng đồng thời. Tuy nhiên, nếu số lượng truy cập tăng đột biến, LAMP có thể bị ngẽn, với số lượng người dùng đồng thời tăng lên hàng trăm hoặc hàng ngàn. Hai nguyên nhân chính gây ra tắc nghẽn là:
- Apache web server: Apache tiêu thụ tài nguyên đáng kể cho mọi kết nối. Nếu Apache chấp nhận quá nhiều kết nối đồng thời, bộ nhớ có thể cạn kiệt và hiệu năng chậm lại vì dữ liệu phải được phân trang qua lại vào ổ đĩa. Nếu các kết nối bị giới hạn để bảo vệ thời gian phản hồi, các kết nối mới phải chờ, điều này cũng dẫn đến trải nghiệm người dùng kém.
- PHP/MySQL: một máy chủ ứng dụng chạy PHP và máy chủ cơ sở dữ liệu MySQL có thể phục vụ số lượng yêu cầu tối đa mỗi giây. Khi số lượng yêu cầu vượt quá mức tối đa, người dùng phải chờ. Vượt quá mức tối đa với một lượng tương đối nhỏ có thể gây ra sự chậm trễ lớn về khả năng phản hồi cho tất cả người dùng.
Các nút thắt làm giảm thời gian sử lý trong cấu trúc LAMP có thể bị giảm hiệu xuất khi số lượng truy cập tăng lên, lúc này cần nâng cấp phần cứng mạnh hơn – nhiều CPU hơn, nhiều dung lượng đĩa hơn, v.v. Hiệu suất phần cứng tăng dần có thể theo kịp với sự gia tăng theo cấp số nhân của nhu cầu đối với tài nguyên hệ thống mà bộ Apache và PHP / MySQL tạo ra khi chúng bị quá tải.
Mẹo 1 – Sử dụng tài nguyên tĩnh Cache
Tài nguyên tĩnh là các tệp không thay đổi, chẳng hạn như tệp CSS, tệp JavaScript và tệp hình ảnh. Những tệp này thường chiếm một nửa hoặc nhiều dữ liệu trên một trang web. Phần còn lại của trang là nội dung được tạo động như bình luận trong diễn đàn, bảng quản trị..
Bộ nhớ đệm tài nguyên có hai lợi ích lớn:
- Phản hồi người dùng nhanh hơn: Người dùng có được các tệp tĩnh từ bộ đệm của trình duyệt hoặc máy chủ bộ đệm gần với chúng trên Internet. Đây đôi khi là các tệp lớn, vì vậy giảm độ trễ khi tải rất nhiều.
- Giảm tải cho máy chủ: Mỗi tệp được truy xuất từ bộ đệm sẽ mất ít thời gian sử lý hơn so với máy chủ web phải xử lý. Bạn càng lưu trữ nhiều bộ đệm, bạn càng tránh được độ trễ vì tài nguyên sử lý bị hạn chế.
Để hỗ trợ bộ nhớ đệm trên trình duyệt, hãy đặt các tiêu đề HTTP chính xác cho các tệp tĩnh. Chẳng hạn tiêu đề HTTP Cache-Control
, với cài đặt max-age
, Expires
và thẻ Entity
.
Khi bộ đệm cục bộ được bật và người dùng đã truy cập tệp trước đó, trước tiên trình duyệt sẽ kiểm tra xem tệp có trong bộ đệm không. Nếu vậy, nó sẽ hỏi máy chủ web nếu tập tin đã thay đổi. Nếu tập tin đã thay đổi, máy chủ web có thể phản hồi ngay lập tức với mã 304 có nghĩa là tệp không thay đổi, thay vì trả lại mã 200 OK, sau đó lấy và gửi tệp đã thay đổi.
Để hỗ trợ bộ nhớ đệm ngoài trình duyệt, hãy xem xét các mẹo bên dưới và sử dụng mạng phân phối nội dung (CDN). CDN là một công cụ phổ biến và mạnh mẽ để lưu vào bộ đệm.
Các cấu hình sau đây là cơ bản giúp bạn học cách tối ưu cache; thay thế www.example.com bằng URL của bạn và sửa đổi tên đường dẫn khác cho phù hợp.
server { # substitute your web server's URL for www.example.com server_name www.example.com; root /var/www/example.com/htdocs; index index.php; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri =404; include fastcgi_params; # substitute the socket, or address and port, of your WordPress server fastcgi_pass unix:/var/run/php5-fpm.sock; #fastcgi_pass 127.0.0.1:9000; } location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg |jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid |midi|wav|bmp|rtf)$ { expires max; log_not_found off; access_log off; } }
Mẹo 2: Cache tệp tin động
WordPress tạo ra các trang web một cách linh hoạt, nội dung được tạo động mỗi khi được yêu cầu. Điều này có nghĩa là người dùng luôn có được nội dung mới nhất.
Hãy nghĩ về một người dùng truy cập một bài đăng có bình luận được kích hoạt ở dưới cùng của bài viết. Bạn muốn người dùng xem tất cả các bình luận – thậm chí là một bình luận vừa xuất hiện trong giây lát. Nội dung được tái tạo một cách linh hoạt cho mỗi lần request làm phát sinh cache.
Nhưng giả sử bài đăng trên blog đang nhận được 10 hoặc 20 yêu cầu mỗi giây. Máy chủ ứng dụng có thể bắt đầu hoạt động dưới áp lực khi cố gắng tạo lại trang một cách thường xuyên, gây ra sự chậm trễ khá lớn.
Để ngăn việc phân phối trang bị chậm lại do tăng tải, hãy cache tệp động. Điều này sẽ làm giảm sử lý về phía server, làm hệ thống phản ứng nhanh hơn.
Để bật bộ nhớ đệm, hãy sử dụng một trong số những plugin tạo cache cho WordPress ở dưới đây.
- Hyper-Cache: Tạo một tệp PHP duy nhất cho mỗi trang hoặc bài đăng WordPress. Điều này hỗ trợ một số chức năng động trong khi bỏ qua nhiều xử lý lõi WordPress và kết nối cơ sở dữ liệu, dẫn đến trải nghiệm người dùng nhanh hơn. Nó không bỏ qua tất cả quá trình xử lý PHP, do đó, Google không tăng hiệu năng như các plugin khác. Mặt khác, plugin cũng không yêu cầu thay đổi cấu hình NGINX.
- WP Super Cache: đây là plugin cache phổ biến nhất cho WordPress. Nó có nhiều cài đặt, và được bố trí dễ sử dụng.
- W3 Total Cache: Đây là plugin tạo bộ nhớ cache phổ biến thứ hai cho WordPress. Nó thậm chí còn có nhiều cài đặt tùy chọn hơn WP Super Cache, khiến nó trở thành một tùy chọn mạnh mẽ nhưng hơi phức tạp.
Chú ý: Bộ nhớ cache không hoạt động cho người dùng đã đăng nhập vào WordPress, vì chế độ xem trang WordPress của họ được cá nhân hóa. Ngoài ra, hầu hết các bộ nhớ cache không hiển thị trang được lưu trong bộ nhớ cache cho những người dùng gần đây đã để lại nhận xét, họ sẽ thấy bình luận của họ xuất hiện khi họ làm mới trang.
Mẹo 3: Chuyển sang Nginx
Như đã đề cập ở trên, Apache có thể gây ra các vấn đề về hiệu năng khi số lượng người dùng đồng thời tăng lên – có thể là hàng trăm người dùng đồng thời. Apache phân bổ tài nguyên đáng kể cho mỗi kết nối và do đó có xu hướng hết bộ nhớ. Apache có thể được cấu hình để giới hạn các kết nối để tránh cạn kiệt bộ nhớ, nhưng điều đó có nghĩa là khi vượt quá giới hạn, các yêu cầu kết nối mới phải chờ.
Ngoài ra, Apache tải mô-đun mod_php vào bộ nhớ cho mọi kết nối, ngay cả khi nó chỉ phục vụ các tệp tĩnh (hình ảnh, CSS, JavaScript, v.v.). Điều này tiêu tốn nhiều tài nguyên hơn cho mỗi kết nối và hơn nữa giới hạn khả năng của máy chủ.
Để bắt đầu giải quyết những vấn đề này, hãy xem xét chuyển từ LAMP sang LEMP – thay thế Apache bằng (e)NGINX. NGINX xử lý hàng ngàn kết nối đồng thời trong một bộ nhớ cố định, do đó, người dùng mới không phải chờ đợi.
NGINX cũng xử lý các tệp tĩnh tốt hơn, với các điều khiển bộ đệm được tích hợp sẵn, dễ dàng điều chỉnh. Tải trên máy chủ ứng dụng đã giảm và trang web của bạn có thể phục vụ lưu lượng truy cập nhiều hơn với trải nghiệm nhanh hơn, thú vị hơn cho người dùng của bạn.
Bạn có thể sử dụng NGINX trên tất cả các máy chủ web khi triển khai hoặc bạn có thể đặt máy chủ NGINX làm proxy ngược của Apache (như siteground) – máy chủ NGINX nhận các yêu cầu của máy khách, cung cấp các tệp tĩnh và gửi các yêu cầu PHP tới Apache, xử lý chúng.
Mẹo: Bộ nhớ cache thường được lưu vào đĩa, nhưng bạn có thể sử dụng tmpfs
để lưu trữ bộ nhớ cache trong bộ nhớ để tăng hiệu suất.
Thiết lập NGINX cho WordPress khá dễ dàng. Chỉ cần làm theo bốn bước sau:
- Thêm permalink: Thêm hỗ trợ permalink cho NGINX. Điều này giúp loại bỏ sự phụ thuộc vào tệp cấu hình .htaccess
- Cấu hình bộ đệm – Chọn một công cụ cache. Các lựa chọn bao gồm bộ đệm FastCGI, W3 Total Cache, WP Super Cache và Hyper Cache
- Thêm bảo mật – Áp dụng các bảo mật WordPress trên NGINX
- Cấu hình WordPress Multisite – Nếu bạn sử dụng WordPress Multisite, hãy thêm cấu hình NGINX cho thư mục con, tên miền phụ hoặc cấu trúc nhiều tên miền
Mẹo 4: Thêm Permalink với nginx
Nhiều trang web WordPress phụ thuộc vào các tệp .htaccess, được yêu cầu cho một số tính năng của WordPress, bao gồm hỗ trợ permalink, plugin và bộ đệm. NGINX không hỗ trợ các tệp .htaccess. Tuy nhiên, bạn có thể sử dụng ngôn ngữ cấu hình NGINX, đơn giản nhưng toàn diện để có được hầu hết các chức năng tương tự.
Bạn có thể bật permalinks trong WordPress với NGINX bằng cách thêm location
. Điều hướng try_files
để kiểm tra xem URL được yêu cầu tồn tại dưới dạng tệp ($uri) hay thư mục ($uri/) trong thư mục gốc /var/www/example.com/htdocs. Nếu không, NGINX thực hiện chuyển hướng đến /index.php, truyền các đối số chuỗi truy vấn dưới dạng tham số.
server { server_name example.com www.example.com; root /var/www/example.com/htdocs; index index.php; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { try_files $uri $uri/ /index.php?$args; } }
Mẹo 5: cấu hình NGINX cho FastCGI
NGINX có thể lưu trữ các phản hồi từ các ứng dụng FastCGI như PHP. Phương pháp này cung cấp hiệu suất tốt nhất.
Đối với NGINX mã nguồn mở, sử dụng mô-đun bên thứ ba ngx_cache_purge, cung cấp khả năng thanh lọc bộ đệm và sử dụng mã cấu hình bên dưới. NGINX Plus đã tích hợp sẵn mã này.
Khi sử dụng FastCGI, chúng tôi khuyên bạn cài đặt plugin WordPress Nginx và sử dụng cấu hình như ở bên dưới (fastcgi_cache_key và fastcgi_cache_purge trong phần location). Plugin tự động xóa bộ nhớ cache của bạn khi một trang hoặc một bài đăng được xuất bản hoặc sửa đổi, một bình luận mới được xuất bản hoặc bộ đệm được xóa thủ công từ trang quản trị WordPress.
Plugin này cũng có thể thêm một đoạn mã HTML ngắn vào cuối trang của bạn, xác nhận bộ đệm đang hoạt động và hiển thị một số thống kê. Giống như W3 Total Cache (bên cạnh đó bạn cũng có thể xác nhận bộ đệm đang hoạt động bằng cách sử dụng biến $upstream_cache_status)
fastcgi_cache_path /var/run/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; server { server_name example.com www.example.com; root /var/www/example.com/htdocs; index index.php; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; set $skip_cache 0; # POST requests and URLs with a query string should always go to PHP if ($request_method = POST) { set $skip_cache 1; } if ($query_string != "") { set $skip_cache 1; } # Don't cache URIs containing the following segments if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php |sitemap(_index)?.xml") { set $skip_cache 1; } # Don't use the cache for logged-in users or recent commenters if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass |wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; } location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri /index.php; include fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; fastcgi_cache WORDPRESS; fastcgi_cache_valid 60m; } location ~ /purge(/.*) { fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; } location ~* ^.+.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg |gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi |wav|bmp|rtf)$ { access_log off; log_not_found off; expires max; } location = /robots.txt { access_log off; log_not_found off; } location ~ /. { deny all; access_log off; log_not_found off; } }
Mẹo 6: Cấu hình NGINX cho W3 Total Cache
W3 Total Cache, tạo bởi Frederick Townes – W3-Edge, là một framework bộ nhớ đệm cho WordPress hỗ trợ NGINX. Nó là một giải pháp thay thế cho bộ đệm FastCGI và có nhiều cài đặt tùy chọn.
Plugin cung cấp nhiều cấu hình bộ đệm khác nhau và cũng bao gồm các tùy chọn cho cơ sở dữ liệu và đối tượng, tối ưu HTML, CSS và JavaScript, cũng như các tùy chọn để tích hợp các CDN phổ biến như cloudflare.
Plugin xử lý cấu hình NGINX bằng tệp cấu hình NGINX (nginx.conf) nằm trong thư mục gốc WORDPRESS.
server { server_name example.com www.example.com; root /var/www/example.com/htdocs; index index.php; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; include /path/to/wordpress/installation/nginx.conf; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; } }
Mẹo 7: Cấu hình NGINX cho WP Super Cache
WP Super Cache được phát triển bởi WordPress tại Automattic, là một công cụ bộ đệm cho WordPress giúp biến các trang WordPress động thành các tệp HTML tĩnh mà NGINX có thể truy cập rất nhanh. Nó là một trong những plugin lưu bộ đệm đầu tiên cho WordPress và có cấu hình nhỏ hơn, tập trung hơn các tùy chọn khác.
Ở cấu hình dưới đây, khối location đầu tiên (trong đó tham số đầu tiên cho lệnh try_files có phần tử supercache) là phần dành riêng cho WP Super Cache và cần cho cấu hình hoạt động. Phần còn lại của mã được tạo thành bởi các quy tắc WordPress để không cache người dùng đã đăng nhập vào WordPress, không cache các dữ liệu POST và đặt các tiêu đề hết hạn cho các tài nguyên tĩnh.
server { server_name example.com www.example.com; root /var/www/example.com/htdocs; index index.php; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log debug; set $cache_uri $request_uri; # POST requests and URLs with a query string should always go to PHP if ($request_method = POST) { set $cache_uri 'null cache'; } if ($query_string != "") { set $cache_uri 'null cache'; } # Don't cache URIs containing the following segments if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php |wp-.*.php|/feed/|index.php|wp-comments-popup.php |wp-links-opml.php|wp-locations.php |sitemap(_index)?.xml |[a-z0-9_-]+-sitemap([0-9]+)?.xml)") { set $cache_uri 'null cache'; } # Don't use the cache for logged-in users or recent commenters if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+ |wp-postpass|wordpress_logged_in") { set $cache_uri 'null cache'; } # Use cached or actual file if it exists, otherwise pass request to WordPress location / { try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; } location ~ .php$ { try_files $uri /index.php; include fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; #fastcgi_pass 127.0.0.1:9000; } # Cache static files for as long as possible location ~*.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg |jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid |midi|wav|bmp|rtf)$ { expires max; log_not_found off; access_log off; } }
Mẹo 8: Thêm bảo mật cho cấu hình NGINX của bạn
Để bảo vệ chống lại các cuộc tấn công, bạn có thể kiểm soát quyền truy cập vào các tài nguyên chính và hạn chế bot tấn công vào trang đăng nhập.
Chỉ cho phép các địa chỉ IP cụ thể được truy cập vào bảng điều khiển WordPress.
# Restrict access to WordPress dashboard location /wp-admin { deny 192.192.9.9; allow 192.192.1.0/24; allow 10.1.1.0/16; deny all; }
Chỉ cho phép tải lên các loại tệp cụ thể, để ngăn chặn tải lên các tệp xấu không mong muốn từ các ứng dụng độc.
# Deny access to uploads that aren’t images, videos, music, etc. location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php|js|swf)$ { deny all; }
Từ chối truy cập vào wp-config.php. Một cách khác để ngăn truy cập là di chuyển ra ngoài thư mục root.
# Deny public access to wp-config.php location ~* wp-config.php { deny all; }
Giới hạn tần xuất truy cập vào wp-login.php để chống brute force attacks.
# Deny access to wp-login.php location = /mylogin.php { limit_req zone=one burst=1 nodelay; fastcgi_pass unix:/var/run/php5-fpm.sock; #fastcgi_pass 127.0.0.1:9000; }
Mẹo 9: Sử dụng NGINX cho WordPress Multisite
WordPress Multisite, đúng như tên gọi của nó, cho phép bạn quản lý hai hoặc nhiều trang web từ một phiên bản WordPress duy nhất. Dịch vụ WordPress.com, nơi lưu trữ hàng ngàn blog người dùng, được chạy từ WordPress Multisite.
Bạn có thể chạy các trang web riêng biệt từ các thư mục con của một tên miền hoặc từ các tên miền phụ riêng biệt.
Sử dụng mã này để thêm hỗ trợ cho cấu trúc thư mục con.
# Add support for subdirectory structure in WordPress Multisite if (!-e $request_filename) { rewrite /wp-admin$ $scheme://$host$uri/ permanent; rewrite ^(/[^/]+)?(/wp-.*) $2 last; rewrite ^(/[^/]+)?(/.*.php) $2 last; }
Hoặc sử dụng mã sau để thêm cấu trúc thư mục con, thay thế tên thư mục con của riêng bạn.
# Add support for subdomains server_name example.com *.example.com;
Các phiên bản cũ hơn của WordPress Multisite (3.4 trở về trước) sử dụng readfile()
để phục vụ nội dung tĩnh. Tuy nhiên, hàm readfile()
là mã PHP, gây ra hiệu năng đáng kể khi thực thi. Chúng ta có thể sử dụng NGINX để bỏ qua quá trình xử lý PHP không cần thiết này.
location ^~ /blogs.dir { internal; alias /var/www/example.com/htdocs/wp-content/blogs.dir; access_log off; log_not_found off; expires max; } ============================================================ # Avoid PHP readfile() for /files/structure in the subdirectory path location ~ ^(/[^/]+/)?files/(?.+) { try_files /wp-content/blogs.dir/$blogid/files/$rt_file /wp-includes/ms-files.php?file=$rt_file; access_log off; log_not_found off; expires max; } ============================================================ # WPMU files structure for the subdomain path location ~ ^/files/(.*)$ { try_files /wp-includes/ms-files.php?file=$1 =404; access_log off; log_not_found off; expires max; } ============================================================ # Map blog ID to specific directory map $http_host $blogid { default 0; example.com 1; site1.example.com 2; site1.com 2; }
Kết luận
Khả năng mở rộng người dùng là một thách thức đối với ngày càng nhiều nhà phát triển trang web. Và đối với các trang web WORDPRESS muốn giải quyết vấn đề về tốc độ. Thêm bộ nhớ đệm WordPress và kết hợp với NGINX, là những giải pháp đúng đắn.
NGINX là máy chủ web hàng đầu với hơn 100.000 trang web đang sử dụng trên thế giới.
Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype