真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用Nginx緩存加速WordPress站點(diǎn)-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線(xiàn)動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元民和做網(wǎng)站,已為上家服務(wù),為民和各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):18982081108

如何使用Nginx緩存加速WordPress站點(diǎn)?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

博客開(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倍流量博客也撐得住!

因?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官方文檔。

關(guān)于如何使用Nginx緩存加速WordPress站點(diǎn)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


本文名稱(chēng):如何使用Nginx緩存加速WordPress站點(diǎn)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/cddhdd.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部