亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 CMS教程 &#&按 怎么使用Nginx緩存加速WordPress站點(diǎn)

怎么使用Nginx緩存加速WordPress站點(diǎn)

Jun 06, 2020 pm 05:11 PM
wordpress

下面由WordPress建站教程欄目給大家介紹WordPress REST API的基本使用,希望對(duì)需要的朋友有所幫助!

怎么使用Nginx緩存加速WordPress站點(diǎn)

博客開通以來,主要記錄學(xué)習(xí)和使用過程中遇到的問題及解決方案。文章風(fēng)格偏向自娛自樂,因此訪問量較少,一臺(tái)1核1G的vps足以支撐網(wǎng)站的正常運(yùn)行。

后來本站引入三個(gè)頁面,這三個(gè)頁面應(yīng)該對(duì)有上外網(wǎng)需求的網(wǎng)友很有幫助,也給本站帶來了很大的流量。本站用的WordPress程序,嘗試過安裝各種緩存插件(super cache, w3 total cache等)加速運(yùn)行,但是低配的vps依然難以支持這么大的訪問量。通過日志可以看到隨著訪問量的增加,php-fpm進(jìn)程增多,Mysql的連接和線程增多,接著出現(xiàn)OOM,然后系統(tǒng)kill掉占用內(nèi)存最大的Mysql進(jìn)程,于是網(wǎng)站進(jìn)入503宕機(jī)模式。

買更好的vps能解決訪問量大的問題,但是要花更多的錢。做為一個(gè)技術(shù)宅,首先想到的當(dāng)然是如何榨干現(xiàn)有機(jī)器來支撐大流量。做過的嘗試包括切換到比WordPress性能更好的Ghost,參考:嘗試Ghost 。但是相對(duì)于WordPress,Ghost的生態(tài)遠(yuǎn)沒有那么成熟,最終放棄了。

左思右想下,終極解決辦法是用Nginx緩存,最初的文章可參考:Nginx配置fastcgi cache。fastcgi_cache的好處是大部分用戶的請(qǐng)求不用后端php-fpm打交道,直接發(fā)送緩存的靜態(tài)頁面,速度上甩各種WordPress插件好幾條街!相比之下wordpress的各種插件還要執(zhí)行php,也避免不了訪問數(shù)據(jù)庫,弱爆了!

自從使用了nginx緩存,網(wǎng)站平穩(wěn)運(yùn)行,再也沒有出現(xiàn)過宕機(jī)的現(xiàn)象。同時(shí)vps的cpu和內(nèi)存占用率直線下降,再也無需擔(dān)心vps的配置問題,感覺再來10倍流量博客也撐得??!

因?yàn)閚ginx穩(wěn)如狗的體驗(yàn),所以現(xiàn)在對(duì)于博客類讀多寫少的產(chǎn)品都是強(qiáng)推nginx緩存(fastcgi緩存或者proxy緩存)。鑒于可能幫到一些網(wǎng)友,現(xiàn)貼出 /etc/nginx/nginx.conf 配置文件供網(wǎng)友參考(包含ssl設(shè)置和gzip部分):

# 文件: /etc/nginx/nginx.conf
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
    worker_connections 1024;
}
http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
    access_log  /var/log/nginx/access.log  main buffer=32k flush=30s;
    server_tokens       off;
    client_max_body_size 100m;
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    # ssl配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_ecdh_curve secp384r1;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_session_tickets off;
    ssl_stapling on; # Requires nginx >= 1.3.7
    ssl_stapling_verify on; # Requires nginx => 1.3.7
    add_header Strict-Transport-Security "max-age=63072000; preload";
    #add_header X-Frame-Options DENY;
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    # 請(qǐng)按照自己的需求更改
    fastcgi_cache_path /var/cache/nginx/tlanyan levels=1:2 keys_zone=tlanyan:10m inactive=30m use_temp_path=off; 
    fastcgi_cache_key $request_method$scheme$host$request_uri;
    # note: can also use HTTP headers to form the cache key, e.g.
    #fastcgi_cache_key $scheme$request_method$host$request_uri$http_x_custom_header;
    #fastcgi_cache_lock on;
    fastcgi_cache_use_stale error timeout invalid_header updating http_500;
    fastcgi_cache_valid 200 301 302 10h;
    fastcgi_cache_valid 404 10m;
    fastcgi_ignore_headers Expires Set-Cookie Vary;
    # gzip 配置
    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_comp_level 7;
    gzip_types
        text/css
        text/plain
        text/javascript
        application/javascript
        application/json
        application/x-javascript
        application/xml
        application/xml+rss
        application/xhtml+xml
        application/x-font-ttf
        application/x-font-opentype
        application/vnd.ms-fontobject
        image/svg+xml
        image/x-icon
        application/rss+xml
        application/atom_xml
        image/jpeg
        image/gif
        image/png
        image/icon
        image/bmp
        image/jpg;
    gzip_vary on;
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
}

以及用于WordPress站點(diǎn)的網(wǎng)站配置文件(/etc/nginx/conf.d/tlanyan.conf):

server {
    listen 80;
    listen [::]:80;
    server_name www.tlanyan.me tlanyan.me; # 請(qǐng)換成自己的域名
    rewrite ^(.*) https://$server_name$1 permanent;
}
server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name www.tlanyan.me tlanyan.me; # 請(qǐng)換成自己的域名
    charset utf-8;
    ssl_certificate /etc/nginx/conf.d/tlanyan.pem;  # 請(qǐng)換成自己的證書和密鑰
    ssl_certificate_key /etc/nginx/conf.d/tlanyan.key;
    set $host_path "/var/www/tlanyan";  # 請(qǐng)改成自己的路徑
    access_log  /var/log/nginx/tlanyan.access.log  main buffer=32k flush=30s;
    error_log /var/log/nginx/tlanyan.error.log;
    root   $host_path;
    # 緩存標(biāo)記
    set $skip_cache 0;
    if ($query_string != "") {
        set $skip_cache 1;
    }
    if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|sitemap(_index)?.xml") {
        set $skip_cache 1;
    }
    # 登錄用戶或發(fā)表評(píng)論者
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
        set $skip_cache 1;
    }
    location = / {
        index  index.php index.html;
        try_files /index.php?$args /index.php?$args;
    }
    location / {
        index  index.php index.html;
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ ^/\.user\.ini {
            deny all;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_cache tlanyan;
        fastcgi_cache_valid 200 301 302 30m;
        fastcgi_cache_valid 404 10m;
        fastcgi_cache_bypass $skip_cache;
        fastcgi_no_cache $skip_cache;
        fastcgi_cache_lock on;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    }
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar|jpeg)$ {
        expires max;
        access_log off;
        try_files $uri =404;
    }
}

上述配置對(duì)最新版的Nginx測試有效,詳細(xì)配置指令請(qǐng)參考Nginx官方文檔。

更多WordPress技術(shù)文章,請(qǐng)?jiān)L問WordPress欄目!

以上是怎么使用Nginx緩存加速WordPress站點(diǎn)的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

wordpress文章列表怎么調(diào) wordpress文章列表怎么調(diào) Apr 20, 2025 am 10:48 AM

有四種方法可以調(diào)整 WordPress 文章列表:使用主題選項(xiàng)、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設(shè)置)或直接修改 WordPress 數(shù)據(jù)庫。

為Web開發(fā)者準(zhǔn)備的10個(gè)最新工具 為Web開發(fā)者準(zhǔn)備的10個(gè)最新工具 May 07, 2025 pm 04:48 PM

Web開發(fā)設(shè)計(jì)是一個(gè)充滿潛力的職業(yè)領(lǐng)域。然而,這個(gè)行業(yè)也面臨著諸多挑戰(zhàn)。隨著越來越多的企業(yè)和品牌轉(zhuǎn)向網(wǎng)絡(luò)市場,Web開發(fā)者有機(jī)會(huì)展示他們的技能并在職業(yè)生涯中取得成功。然而,隨著對(duì)Web開發(fā)需求的持續(xù)增長,開發(fā)人員的數(shù)量也在增加,導(dǎo)致競爭日益激烈。但令人振奮的是,如果你具備天賦和意愿,你總能找到新方法來創(chuàng)造獨(dú)特的設(shè)計(jì)和創(chuàng)意。作為一名Web開發(fā)人員,你可能需要不斷尋找新的工具和資源。這些新工具和資源不僅能讓你的工作更加便捷,還能提升工作質(zhì)量,從而幫助你贏得更多的業(yè)務(wù)和客戶。Web開發(fā)的趨勢不斷變化,

wordpress怎么導(dǎo)入源碼 wordpress怎么導(dǎo)入源碼 Apr 20, 2025 am 11:24 AM

導(dǎo)入 WordPress 源碼需要以下步驟:創(chuàng)建子主題以進(jìn)行主題修改。導(dǎo)入源碼,覆蓋子主題中的文件。激活子主題,使其生效。測試更改,確保一切正常。

wordpress主機(jī)怎么建站 wordpress主機(jī)怎么建站 Apr 20, 2025 am 11:12 AM

要使用 WordPress 主機(jī)建站,需要:選擇一個(gè)可靠的主機(jī)提供商。購買一個(gè)域名。設(shè)置 WordPress 主機(jī)帳戶。選擇一個(gè)主題。添加頁面和文章。安裝插件。自定義您的網(wǎng)站。發(fā)布您的網(wǎng)站。

如何在 Yandex 網(wǎng)站管理員工具中添加您的 WordPress 網(wǎng)站 如何在 Yandex 網(wǎng)站管理員工具中添加您的 WordPress 網(wǎng)站 May 12, 2025 pm 09:06 PM

您想將您的網(wǎng)站連接到Y(jié)andex網(wǎng)站管理員工具嗎?Google搜索控制臺(tái)、Bing和Yandex等網(wǎng)站管理員工具可幫助您優(yōu)化網(wǎng)站、監(jiān)控流量、管理robots.txt、檢查網(wǎng)站錯(cuò)誤等。在本文中,我們將分享如何在Yandex網(wǎng)站管理員工具中添加您的WordPress網(wǎng)站來監(jiān)控您的搜索引擎流量。什么是Yandex?Yandex是一個(gè)位于俄羅斯的流行搜索引擎,類似于Google和Bing。您可以在Yandex中優(yōu)

如何設(shè)置、獲取和刪除 WordPress Cookie(像專業(yè)人士一樣) 如何設(shè)置、獲取和刪除 WordPress Cookie(像專業(yè)人士一樣) May 12, 2025 pm 08:57 PM

您想了解如何在WordPress網(wǎng)站上使用cookie嗎?Cookie是在用戶瀏覽器中存儲(chǔ)臨時(shí)信息的有用工具。您可以使用此信息通過個(gè)性化和行為定位來增強(qiáng)用戶體驗(yàn)。在本終極指南中,我們將向您展示如何像專業(yè)人士一樣設(shè)置、獲取和刪除WordPresscookie。注意:這是一個(gè)高級(jí)教程。它要求您精通HTML、CSS、WordPress網(wǎng)站和PHP。什么是Cookie?Cookie是用戶訪問網(wǎng)站時(shí)創(chuàng)建并存儲(chǔ)在用戶瀏覽

如何修復(fù) WordPress 中的 HTTP 圖片上傳錯(cuò)誤(簡單) 如何修復(fù) WordPress 中的 HTTP 圖片上傳錯(cuò)誤(簡單) May 12, 2025 pm 09:03 PM

您需要修復(fù)WordPress中的HTTP圖片上傳錯(cuò)誤嗎?當(dāng)您在WordPress中創(chuàng)建內(nèi)容時(shí),此錯(cuò)誤可能會(huì)特別令人沮喪。當(dāng)您使用內(nèi)置WordPress媒體庫將圖像或其他文件上傳到CMS時(shí),通常會(huì)發(fā)生這種情況。在本文中,我們將向您展示如何輕松修復(fù)WordPress中的HTTP圖片上傳錯(cuò)誤。WordPress媒體上傳過程中出現(xiàn)HTTP錯(cuò)誤的原因是什么?當(dāng)您嘗試使用WordPress媒體上傳器將文件上傳到Wo

wordpress賬號(hào)怎么注冊(cè) wordpress賬號(hào)怎么注冊(cè) Apr 20, 2025 am 11:45 AM

要在 WordPress 上創(chuàng)建賬號(hào),只需訪問其網(wǎng)站,選擇注冊(cè)選項(xiàng),填寫注冊(cè)表,并驗(yàn)證您的電子郵件地址。其他注冊(cè)方法包括使用 Google 賬號(hào)或 Apple ID。注冊(cè)的好處包括創(chuàng)建網(wǎng)站、獲得功能、加入社區(qū)和獲得支持。

See all articles