Hướng dẫn XenForo Forum với Nginx fastcgi_cache đầy đủ trang bộ nhớ đệm của khách

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
17,142
Được Like
12,745
XenForo Forum với Nginx fastcgi_cache đầy đủ trang bộ nhớ đệm của khách

Nginx bao gồm một module FastCGI, trong đó có chỉ thị cho bộ nhớ đệm nội dung năng động được phân phối từ backend PHP. Thiết lập này loại bỏ sự cần thiết phải có thêm các giải pháp bộ nhớ đệm trang như proxy ngược hoặc bổ sung ứng dụng cụ thể. Nội dung cũng có thể được loại trừ khỏi bộ nhớ đệm dựa trên các phương thức yêu cầu, URL, cookies, hoặc bất kỳ biến server khác.

  • 1st: Yêu cầu cài đặt Addon này, có cookie thường cho Login Users.
  • 2nd: Thêm mã này vào Nginx Config / nginx.conf của bạn, phía dưới http { block

Đối với centminmod cơ bản trên máy chủ, trên dòng này: https://github.com/centminmod/centminmod/blob/123.09beta01/config/nginx/nginx.conf#L33
Giả sử bạn không thay đổi mặc định XenForo Cookie tiền tố là xf_.

Mã:
### Start FastCGI Cache ################
#map $http_user_agent $mobile_request {
#    default                                         0;
#    ~*android|ip(hone|od)|windows\s+(?:ce|phone)    1;
#    ~*symbian|sonyericsson|samsung|lg|blackberry    1;
#    ~*mobile                                        1;
#}
map $http_cookie $nocachecookie {
     default                   0;
    ~xf_fbUid                  1;
    ~xf_user                   1;
    ~xf_logged_in              1;
    #~xf_style_id              1;
}
map $request_uri $nocacheuri {
       default              0;
    ~^/register             1;
    ~^/login                1;
    ~^/validate-field       1;
    ~^/captcha              1;
    ~^/lost-password        1;
    ~^/two-step             1;
}
fastcgi_cache_path  /tmp/nginx_fastcgi_cache levels=1:2 keys_zone=fastcgicache:200m inactive=30m;
### End FastCGI Cache ################

3rd: Từ ví dụ này, thêm đằng sau mã:
Mã:
include fastcgi_params;

Đối với centminmod cơ bản trên máy chủ, thêm trên dòng này https://github.com/centminmod/centminmod/blob/123.09beta01/config/nginx/php.conf#L89
Mã:
### fastcgi_cache start ###
fastcgi_cache_methods GET;
#fastcgi_cache_key       $scheme$request_method$host$request_uri$mobile_request;
fastcgi_cache_key       $scheme$request_method$host$request_uri;
fastcgi_cache_use_stale error timeout invalid_header updating http_500;
fastcgi_ignore_headers  Cache-Control Expires Set-Cookie;
fastcgi_cache           fastcgicache;
fastcgi_no_cache        $nocachecookie $nocacheuri;
fastcgi_cache_bypass    $nocachecookie $nocacheuri;
fastcgi_cache_valid     200 301 302 303 304 404 15m;
add_header X-Cache-Status   $upstream_cache_status;
### fastcgi_cache end ###

  • 4th: Lưu và sau đó khởi động NginxPHP-FPM. nprestart cho centminmod.
  • 5th: Để có xf_user cookie tồn tại trên mỗi Login Users.
Sửa đổi template helper_login_form and login_bar_form.
Thay:
Mã:
<label class="rememberPassword"><input type="checkbox" name="remember" value="1" id="ctrl_pageLogin_remember" tabindex="3" /> {xen:phrase stay_logged_in}</label>

Bằng:
Mã:
<input type="hidden" name="remember" value="1" />

Chúc các bạn thành công.


Nguồn: xenforo.com​
 
  • Like
Reactions: THB

THB

Founder
Thành viên BQT
Tham gia
25/02/2015
Bài viết
6,651
Được Like
3,934
cái này hay bị nè
 

Top Bottom