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

ホームページ CMS チュートリアル &#&プレス Nginx キャッシュを使用して WordPress サイトを高速化する方法

Nginx キャッシュを使用して WordPress サイトを高速化する方法

Jun 06, 2020 pm 05:11 PM
wordpress

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

Nginx キャッシュを使用して WordPress サイトを高速化する方法

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

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

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

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

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

因?yàn)閚ginx穩(wěn)如狗的體驗(yàn),所以現(xiàn)在對(duì)于博客類(lèi)讀多寫(xiě)少的產(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)換成自己的證書(shū)和密鑰
    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;
    }
    # 登錄用戶(hù)或發(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測(cè)試有效,詳細(xì)配置指令請(qǐng)參考Nginx官方文檔。

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

以上がNginx キャッシュを使用して WordPress サイトを高速化する方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WordPressの記事リストを調(diào)整する方法 WordPressの記事リストを調(diào)整する方法 Apr 20, 2025 am 10:48 AM

WordPressの記事リストを調(diào)整するには4つの方法があります。テーマオプションを使用し、プラグイン(投稿タイプの注文、WP投稿リスト、ボックスのものなど)を使用し、コード(functions.phpファイルに設(shè)定を追加)を使用するか、WordPressデータベースを直接変更します。

Web開(kāi)発者向けの10の最新ツール Web開(kāi)発者向けの10の最新ツール May 07, 2025 pm 04:48 PM

Web開(kāi)発デザインは有望なキャリア分野です。ただし、この業(yè)界は多くの課題にも直面しています。より多くの企業(yè)やブランドがオンライン市場(chǎng)に目を向けるにつれて、Web開(kāi)発者は自分のスキルを?qū)g証し、キャリアを成功させる機(jī)會(huì)があります。ただし、Web開(kāi)発の需要が増え続けているため、開(kāi)発者の數(shù)も増加しており、その結(jié)果、ますます激しい競(jìng)爭(zhēng)が発生しています。しかし、才能と意志があれば、ユニークなデザインやアイデアを作成する新しい方法をいつでも見(jiàn)つけることができるのはエキサイティングです。 Web開(kāi)発者として、新しいツールとリソースを探し続ける必要があるかもしれません。これらの新しいツールとリソースは、仕事をより便利にするだけでなく、仕事の品質(zhì)を向上させるため、より多くのビジネスと顧客を獲得するのに役立ちます。 Web開(kāi)発の傾向は絶えず変化しています。

WordPressのソースコードをインポートする方法 WordPressのソースコードをインポートする方法 Apr 20, 2025 am 11:24 AM

WordPressソースコードのインポートには、次の手順が必要です。テーマ変更のサブテーマを作成します。ソースコードをインポートし、サブトピックのファイルを上書(shū)きします。サブテーマを有効にして効果的にします。変更をテストして、すべてが機(jī)能することを確認(rèn)します。

WordPressホスト用のWebサイトを構(gòu)築する方法 WordPressホスト用のWebサイトを構(gòu)築する方法 Apr 20, 2025 am 11:12 AM

WordPressホストを使用してWebサイトを構(gòu)築するには、次のようにする必要があります。信頼できるホスティングプロバイダーを選択します。ドメイン名を購(gòu)入します。 WordPressホスティングアカウントを設(shè)定します。トピックを選択します。ページと記事を追加します。プラグインをインストールします。ウェブサイトをカスタマイズします。あなたのウェブサイトを公開(kāi)します。

YandexのWebマスターツールにWordPressサイトを追加する方法 YandexのWebマスターツールにWordPressサイトを追加する方法 May 12, 2025 pm 09:06 PM

あなたのウェブサイトをyandexのウェブマスターツールに接続しますか? Google Search Console、Bing、YandexなどのWebマスターツールは、Webサイトの最適化、トラフィックの監(jiān)視、robots.txtの管理、Webサイトのエラーの確認(rèn)などを支援します。この記事では、WordPress WebサイトをYandex Webmasterツールに追加して、検索エンジントラフィックを監(jiān)視する方法を共有します。 yandexとは何ですか? Yandexは、GoogleとBingに似たロシアに拠點(diǎn)を置く人気のある検索エンジンです。 Yandexで優(yōu)れています

WordPress Cookieを設(shè)定、取得、削除する方法(専門(mén)家のように) WordPress Cookieを設(shè)定、取得、削除する方法(専門(mén)家のように) May 12, 2025 pm 08:57 PM

WordPress WebサイトでCookieの使用方法を知りたいですか? Cookieは、ユーザーのブラウザに一時(shí)情報(bào)を保存するための便利なツールです。この情報(bào)を使用して、パーソナライズと行動(dòng)ターゲティングを通じてユーザーエクスペリエンスを強(qiáng)化できます。この究極のガイドでは、プロフェッショナルのようにWordPressCookiesを設(shè)定、取得、削除する方法を紹介します。注:これは高度なチュートリアルです。 HTML、CSS、WordPress Webサイト、PHPに習(xí)熟する必要があります。クッキーとは何ですか?ユーザーがWebサイトにアクセスすると、Cookieが作成および保存されます。

WordPressのHTTP畫(huà)像アップロードエラーを修正する方法(シンプル) WordPressのHTTP畫(huà)像アップロードエラーを修正する方法(シンプル) May 12, 2025 pm 09:03 PM

WordPressでHTTP畫(huà)像アップロードエラーを修正する必要がありますか?このエラーは、WordPressでコンテンツを作成する場(chǎng)合、特にイライラする可能性があります。これは通常、組み込みのWordPressメディアライブラリを使用して畫(huà)像またはその他のファイルをCMSにアップロードするときに発生します。この記事では、WordPressのHTTP畫(huà)像アップロードエラーを簡(jiǎn)単に修正する方法を示します。 WordPressメディアのアップロード中にHTTPエラーの理由は何ですか? WordPress Mediaアップローダーを使用してファイルをWOにアップロードしようとするとき

WordPressアカウントを登録する方法 WordPressアカウントを登録する方法 Apr 20, 2025 am 11:45 AM

WordPressでアカウントを作成するには、Webサイトにアクセスして、登録オプションを選択し、登録フォームに入力し、メールアドレスを確認(rèn)してください。登録する他の方法には、GoogleアカウントまたはApple IDの使用が含まれます。サインアップの利點(diǎn)には、Webサイトの作成、機(jī)能の獲得、コミュニティへの參加、サポートの獲得が含まれます。

See all articles