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缓存可以吗内容提出宝贵意见欢迎分享,转载请注明来源:内存溢出
评论列表(0条)