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

WordPress站点怎么加速 Nginx缓存可以吗,第1张

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

wordpresssite如何加快Nginx缓存?WordPress网站

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

芒果云,站长之家为你整理了WordPress站点中如何加快Nginx缓存的相关内容。

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

后来这个站点引入了三个页面,应该对需要上网的用户很有帮助,也给这个站点带来了不少流量。本站使用的WordPress程序已经尝试安装各种缓存插件(超级缓存、w3总缓存等。)来加快运行速度,但是低档的vps还是难以支撑如此大的访问量。通过日志我们可以看到,随着流量的增加,php-fpm进程增加,Mysql连接数和线程增加,然后出现了OOM,然后系统杀死了占用内存最多的Mysql进程,于是网站进入503宕机模式。

买个好点的vps可以解决流量大的问题,但是要多花钱。作为技术宅,首先想到的当然是如何挤压现有机器来支撑大流量。一些尝试包括切换到比WordPress性能更好的Ghost。参考:试试Ghost。但相比WordPress,Ghost的生态远未成熟,最终放弃了。

左右想想,最终的解决方案是用Nginx缓存。原文请参考:Nginx配置fastcgi缓存。fastcgi_cache的好处是大部分用户的请求都不用去处理后端php-fpm,直接发送缓存的静态页面,在速度上扔掉各种WordPress插件好几个街区!相比之下,wordpress的各种插件都要执行php,无法避免访问数据库。太弱了!

自从使用nginx缓存后,网站运行流畅,没有宕机。同时vps的cpu和内存占用率直线下降,不用担心vps的配置。感觉10倍流量的博客能撑得住!

因为nginx像狗的体验一样稳定,所以对于读的多写的少的博客产品,现在是nginx缓存(fastcgi缓存或者代理缓存)的强推。鉴于可能对部分网友有所帮助,贴出/etc/nginx/nginx.conf的配置文件供参考(包括ssl设置和gzip):

#file:/etc/nginx/nginx.conf

#有关配置的更多信息,请参见:

#*官方英文文档:http://nginx.org/en/docs/

#*俄文官方文件:http://nginx.org/ru/docs/

用户nginx

worker_processes自动;

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

PID/run/nginx.PID;

#加载动态模块。请参见/usr/share/nginx/readme.dynamic。

包括/usr/share/nginx/modules/*。conf

事件{

工人_连接1024;

}

http{

log_formatmain'$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主缓冲区=32kflush=30s

server_tokens关闭;

client_max_body_size100m

在上发送文件;

tcp_nopushon

tcp_nodelay打开;

keepalive_timeout65

types_hash_max_size2048

包含/etc/nginx/mime.types;

default_type应用程序/八位字节流;

#ssl配置

ssl_协议TLSv1.2TLSv1.3

SSL_ciphersECDHE-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_curvesecp384r1

ssl_prefer_server_cipherson

ssl_session_cache共享:SSL:10m;

ssl_session_timeout10m

ssl_session_ticketsoff

ssl_装订打开;#需要nginx>=1.3.7

ssl_stapling_verifyon#Requiresnginx=>1.3.7

add_headerStrict-Transport-Security"max-age=63072000;预载";

#add_headerX-Frame-Options拒绝;

add_headerX-Frame-选项SAMEORIGIN

add_headerX-Content-Type-Optionsnosniff;

add_headerX-XSS-保护"1;mode=block";

#请根据自己的需求进行更改

fastcgi_cache_path/var/cache/nginx/tlanyanlevels=1:2keys_zone=tlanyan:10minactive=30muse_temp_path=off;

fastcgi_cache_key$request_method$scheme$host$request_uri;

#注意:也可以使用HTTP头来形成缓存键,例如

#fastcgi_cache_key$scheme$request_method$host$request_uri$http_x_custom_header;

#fastcgi_cache_lockon

fastcgi_cache_use_stale错误超时invalid_header更新http_500

fastcgi_cache_valid20030130210h;

fastcgi_cache_valid40410m

fastcgi_ignore_headers过期集-CookieVary;

#gzip配置

gzip打开;

gzip_min_length1k

gzip_buffers416k

gzip_comp_level7;

gzip_types

文本/css

文本/纯文本

文本/javascript

应用程序/javascript

应用程序/json

应用程序/x-javascript

应用程序/xml

应用程序/xml+rss

应用程序/xhtml+xml

应用程序/x-font-ttf

应用程序/x-font-opentype

应用程序/vnd.ms-fontobject

图像/svg+xml

图像/x图标

应用程序/rss+xml

应用程序/atom_xml

图像/jpeg

图片/gif

图片/png

图像/图标

图像/bmp

image/jpg;

gzip_varyon

#从/etc/nginx/conf.d目录加载模块化配置文件。

#看http://nginx.org/en/docs/ngx_core_module.html#include

#了解更多信息。

包括/etc/nginx/conf.d/*。conf

}

以及WordPress站点的网站配置文件(/etc/nginx/conf.d/tlanyan.conf):

服务器{

听80;

听[::]:80;

server_namewww.tlanyan.metlanyan.me;#请更改为您自己的域名

重写^(.*)https://$server_name永久;

}

服务器{

监听443sslhttp2

listen[::]:443SSLhttp2;

server_namewww.tlanyan.metlanyan.me;#请更改为您自己的域名

字符集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主缓冲区=32kflush=30s

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

根$host_path

#缓存标签

设置$skip_cache0;

if($query_string!=""){

设置$skip_cache1;

}

if($request_uri~*"/WP-admin/|/xmlrpc.PHP|WP-。*.php|/feed/|sitemap(_index)?。xml"){

设置$skip_cache1;

}

#登录用户或评论者

if($http_cookie~*"comment_author|WordPress_[a-F0-9]+|WP-postpass|WordPress_no_cache|WordPress_logged_in"){

设置$skip_cache1;

}

位置=/{

索引index.phpindex.html;

try_files/index.php?$args/index.php?$args

}

位置/{

索引index.phpindex.html;

try_files$uri$uri//index.php?$args

}

地点~^/\.用户\。ini{

否定一切;

}

位置~\。php${

try_files$uri=404

fastcgi_indexindex.php;

fastcgi_pass127.0.0.1:9000;

fastcgi_cachetlanyan

fastcgi_cache_valid20030130230m;

fastcgi_cache_valid40410m

fastcgi_cache_bypass$skip_cache;

fastcgi_no_cache$skip_cache

fastcgi_cache_lockon

包括fastcgi_params

fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_SCRIPT_name;

}

位置~\。(js|CSS|png|jpg|gif|swf|ico|pdf|mov|Fla|zip|rar|JPEG)${

最大过期时间;

access_logoff

try_files$uri=404

}

}

以上配置对最新版本的Nginx测试有效。详细的配置说明请参考Nginx官方文档。

转载:非常欢迎您分享到您的个人站长或朋友圈,但请注明文章来源“李SEO博客”。

原文地址:http://www.alitaohuo.com/CMSJiaocheng/WordPressJiaocheng/2018.html

以上就是关于对WordPress站点怎么加速Nginx缓存可以吗的详细介绍。欢迎大家对WordPress站点怎么加速Nginx缓存可以吗内容提出宝贵意见

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/767666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-02
下一篇 2022-05-02

发表评论

登录后才能评论

评论列表(0条)

保存