商丘做网站,商丘网站优化,商丘网络推广,商丘网络公司
当前位置:

WordPress站点怎么加速 Nginx缓存可以吗

发表日期:2020-10-14 17:15聚圣源浏览次数: 本文关键词:自己的,缓存,博客,配置,网站,站点,程序,换成

博客开通以来,主要记录学习和使用过程中遇到的问题及解决方案。文章风格偏向自娱自乐,因此访问量较少,一台1核1G的vps足以支撑网站的正常运行。

后来本站引入三个页面,这三个页面应该对有上外网需求的网友很有帮助,也给本站带来了很大的流量。本站用的WordPress程序,尝试过安装各种缓存插件(super cache, w3 total cache等)加速运行,但是低配的vps依然难以支持这么大的访问量。通过日志可以看到随着访问量的增加,php-fpm进程增多,Mysql的连接和线程增多,接着出现OOM,然后系统kill掉占用内存最大的Mysql进程,于是网站进入503宕机模式。

买更好的vps能解决访问量大的问题,但是要花更多的钱。做为一个技术宅,首先想到的当然是如何榨干现有机器来支撑大流量。做过的尝试包括切换到比WordPress性能更好的Ghost,参考:尝试Ghost 。但是相对于WordPress,Ghost的生态远没有那么成熟,最终放弃了。

左思右想下,终极解决办法是用Nginx缓存,最初的文章可参考:Nginx配置fastcgi cache。fastcgi_cache的好处是大部分用户的请求不用后端php-fpm打交道,直接发送缓存的静态页面,速度上甩各种WordPress插件好几条街!相比之下wordpress的各种插件还要执行php,也避免不了访问数据库,弱爆了!

自从使用了nginx缓存,网站平稳运行,再也没有出现过宕机的现象。同时vps的cpu和内存占用率直线下降,再也无需担心vps的配置问题,感觉再来10倍流量博客也撑得住!

因为nginx稳如狗的体验,所以现在对于博客类读多写少的产品都是强推nginx缓存(fastcgi缓存或者proxy缓存)。鉴于可能帮到一些网友,现贴出 /etc/nginx/nginx.conf 配置文件供网友参考(包含ssl设置和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";

# 请按照自己的需求更改

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站点的网站配置文件(/etc/nginx/conf.d/tlanyan.conf):

server {

listen 80;

listen [::]:80;

server_name www.tlanyan.me tlanyan.me; # 请换成自己的域名

rewrite ^(.*) https://$server_name$1 permanent;

}

server {

listen 443 ssl http2;

listen [::]:443 ssl http2;

server_name www.tlanyan.me tlanyan.me; # 请换成自己的域名

charset utf-8;

ssl_certificate /etc/nginx/conf.d/tlanyan.pem; # 请换成自己的证书和密钥

ssl_certificate_key /etc/nginx/conf.d/tlanyan.key;

set $host_path "/var/www/tlanyan"; # 请改成自己的路径

access_log /var/log/nginx/tlanyan.access.log main buffer=32k flush=30s;

error_log /var/log/nginx/tlanyan.error.log;

root $host_path;

# 缓存标记

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;

}

# 登录用户或发表评论者

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;

}

}

上述配置对最新版的Nginx测试有效,详细配置指令请参考Nginx官方文档。

转载:非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“黎青松SEO博客”。

原文地址:http://www.alitaohuo.com/CMSjiaocheng/wordpressjiaocheng/2018.html

如没特殊注明,文章均来自网络! 转载请注明来自:http://www.jushengyuan.com.cn/news/jzjy/3196.html

网站设计案例推荐

热门文章

企业网站备案需要什么材料?需...

网站备案就像身份证一样,当企业进行网站改版或者次做网站需要进行域名备案工作,工作由当地的工信部门管理需要准备那些材料那?一起来看一下吧! 企业网站备 1、办单位有效证件扫描件上...

日期:2021-03-04 浏览次数:8000

手机建站教程:手机网站建设的...

手机网站建设的定义 在中国,有4亿网民正在使用手机浏览产品和服务信息,可以让您随时随地处理客户咨询、客户预约、企业管理,赋予您一个8小时之外的移动秘书。我们对每一个手机网站都会...

日期:2019-11-04 浏览次数:8000

网站超链接怎么做 其实很简单...

如何创建站点超链接?SiteTime是一个站点中很常见的元素类型,在 HTML入门教程中,也会解释什么是 a标签, A标签就是做站点 Time的标签。 站点超链接生成方式 修改后缀为 html的新 txt文件 打开记事...

日期:2021-06-02 浏览次数:7999

挑选适合自己的网站建站程序技...

在互联网发展突飞猛进的今天,网站建站已不是什么稀奇事儿,也没有大家想的那么复杂,但要做好就有点难了。经常建站的人都知道,想建好一个网站,选择一款适合自己的建站程序很重要,目...

日期:2019-12-16 浏览次数:7998

都说自助建站更便宜 和手工建站...

费用对比 1、经济、标准型企业网站费用比较 网站建设费用:总费用1800元至3600元,含域名、100M-200M的优质空间(可自由增加)、110M企业邮局(即你的域名后缀邮箱帐号)、网站制作设计、有后台...

日期:2019-11-08 浏览次数:7998

相关文章

企业为什么要建网站,对企业的...

现如今互联网信息飞速发展,很多中小型的企业都面临着一个新的挑战。那就是不知如何运用网络工具提升企业和自身品牌的知名度。简单来讲那就是网络营销。那么今天小编就来介绍一下企业为...

日期:2019-07-29 浏览次数:5806

抢占市场先机 企业建站刻不容缓...

如今互联网时代的飞速发展,很多企业又面临着新的竞争,线上市场竞争逐渐激烈,越来越多的用户通过线上了解企业详情,但是有的企业却不知道该如何运用互联网工具提升自己的品牌知名度,...

日期:2019-07-30 浏览次数:6946

网站建设教程之PageAdmin建站系统...

PageAdmin建站系统最大的特点就是扩展灵活,加上可以免费下载,没有版权信息,国内拥有很多用户,很多中小网站制作公司也采用这款系统来给自己的客户做网站,在此,以本文作为引子,但愿可...

日期:2019-07-30 浏览次数:6286

担心Logo设计触碰“雷区”?lo...

尽管logo只是一个图标,但设计起来依然有不少讲究。若设计得不合理,很容易让受众引起反感,对于品牌传播是极为不利的。 在进行logo设计时,很多人完全不懂logo设计中的一些禁忌,导致经过很...

日期:2019-07-31 浏览次数:7898

免费设计logo“坑”太多!品牌的...

品牌logo对于企业而言至关重要,logo能够帮助企业体现自己的品牌形象,也能让是消费者或客户对品牌记忆产生初始印象,小小的logo蕴含着传达品牌企业的精神与主旨。所以,对于企业来说,设计...

日期:2019-08-12 浏览次数:6447

随机推荐

外贸建站程序用什么比较好?该...

网站建设选自助建站,还是定制...

为网站申请和配置StartSSL的SSL证...

浅谈网站服务器的负载能力问题...

推广域名在微信中被拦截、封杀...

模板建站的缺点 你了解多少?...