首页
统计
分类
tags
推荐
WordPress
Linux
Search
1
快速部署Xray V2ray SS Trojan Trojan-go七合一共存一键脚本+伪装博客
198 阅读
2
国外12个免费的DNS
143 阅读
3
github 网页的新字体 -apple-system BlinkMacSystemFont 是什么
101 阅读
4
让你的WP跑得更快 - WordPress优化指南
90 阅读
5
宝塔自行编译brotli的教程
88 阅读
Wordpress
Linux
Other
登录
Search
标签搜索
wordpress
SSR
LNMP
bbr
SSR - Bash
flashfxp
Facebook messenger
brotli
WooCommerce
Deepin
V2Ray
BBR Plus
yum
宝塔
SQLite
谷歌云
debian
Contact Form 7
reCAPTCHA
Ruinous
累计撰写
79
篇文章
累计收到
0
条评论
首页
栏目
Wordpress
Linux
Other
页面
统计
分类
tags
推荐
WordPress
Linux
搜索到
79
篇与
的结果
2020-03-25
WordPress使用宝塔面板开启Nginx fastcgi_cache缓存加速
查看Nginx配置执行nginx -V 查看宝塔面板中Nginx的编译配置!执行以上命令后,我们可以看到宝塔Nginx已经编译了ngx_cache_purge 模块,那就很方便了!或者我们可以使用以下命令查看ngx_cache_purge 模块有没有编译安装:<span class="hljs-attr">nginx</span> <span class="hljs-string">-V 2>&1 | grep -o ngx_cache_purge 查看ngx_cache_purge是否安装,没有数据表示未安装</span> Nginx配置实例宝塔既然已经安装了此模块,那接下来我们就通过修改配置文件来启用此模块了!选择对应网站,点击设置,修改Nginx默认的配置文件!添加配置内容首先,我们需要在dev/shm/目录创建新文件夹,命名为nginx-cache(记住Nginx-cache)很重要!我们首先在对应网站的配置文件最开始的地方,也就是文件内容顶端输入以下内容:fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_path /dev/shm/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_ignore_headers Cache-Control Expires Set-Cookie;然后在server字段下添加如下内容,为了防止小白不清楚,技术宅这里指定下,大家在 #SSL-END下方添加如下内容:set $skip_cache 0; #post访问不缓存 if ($request_method = POST) { set $skip_cache 1; } #动态查询不缓存 if ($query_string != "") { set $skip_cache 1; } #后台等特定页面不缓存(其他需求请自行添加即可) if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|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; } #如果需要对所有用户缓存,请将以上代码改为下方的,两段代码只可任选其一 #if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+") { #set $skip_cache 1; #} #这里请参考你网站之前的配置,特别是sock的路径,弄错了就502了!关于sock,宝塔面板的在/www/server/php/72/etc/php-fpm.conf中有配置路径宝塔面板的sock location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi-72.sock; fastcgi_index index.php; include fastcgi.conf; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; #新增的缓存规则 fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; add_header X-Cache "$upstream_cache_status From $host"; fastcgi_cache WORDPRESS; add_header Cache-Control max-age=0; add_header Nginx-Cache "$upstream_cache_status"; add_header Last-Modified $date_gmt; add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套 add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型 add_header X-XSS-Protection "1; mode=block"; # XSS 保护 etag on; fastcgi_cache_valid 200 301 302 1d; } #缓存清理配置(可选模块,请细看下文说明) location ~ /purge(/.*) { allow 127.0.0.1; allow "服务器公网IP"; deny all; fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; }其中add_header Cache-Control如果是动态内容要实时更新的话,可以设置为0,否则可以设置时间大一些。然后安装WordPress插件!安装Nginx Helper插件置好了fastcgi_cache缓存之后,我们需要安装插件, fastcgi_cache 有一个量身定做的 WordPress 缓存清理插件:Nginx Helper。这个插件不定时更新,而且更新的很频繁。安装这个插件 ,非常简单,直接进入 WordPress 后台插件安装界面搜索 Nginx Helper 关键词在线安装即可。首先是开启purge,然后我们选择nginx Fastcgin cahe,因为就我们用就是这个缓存。之后选择 Delete local server cache files。当然第一个也可以用,但是一般推荐用Delete local server cache files,因为每个服务器的环境都不一样,缓存路径也会不尽相同就会导致插件无法找到缓存文件并删除!插件还提供了其它的一些设置,功能非常丰富,例如发表新文章、新评论时是否更新Nginx缓存等。因为技术宅是对所有人缓存,所以全选了,请根据自己的实际情况勾选!3.1清理模式选择清理模式还需要仔细说下。①、purge 模式这个模式需要保留上文 Nginx 配置中的 purge 清理路径,清理的时候会产生一个请求。出于安全考虑,一般 purge 都不会完全开放!只有特定的 IP 可以访问,所以,如果用了 CDN 的朋友,再使用模式一,则需要在服务器上的 /etc/hosts 中将网站域名解析为服务器真实 IP,以便插件直接请求 purge 路径,而不用走 CDN 节点,避免请求被拒绝。还是没搞懂的话就放弃这个模式吧!②、文件模式模式二是直接清理对应的缓存文件,不需要请求 purge 这个清理路径,所以使用模式二,不需要配置上文 Nginx 的 purge 规则(我个人推荐使用这个模式)。由于插件作者定义的缓存路径是 /var/run/nginx-cache ,而我们可能会根据服务器实际情况来自定义缓存路径,这样一来,缓存路径的不同就会导致插件无法找到缓存文件并删除!接下来我们需要添加以下代码到WordPress的wp-config.php文件中!define('RT_WP_NGINX_HELPER_CACHE_PATH','/dev/shm/nginx-cache'); 以上技术宅是将缓存文件配置在内存里的,毕竟内存OI比一般的普通磁盘要快很多呢!如果你有一块炒鸡厉害的磁盘,挂载目录为/data或者使用系统盘,那么就需要修改/dev/shm/nginx-cache为你的实际缓存磁盘!保存以上的内容,最好是重新启动下Nginx,这样我们的网站就成功实现了fastcgi_cache缓存加速!效果检测刷新页面,当前端页面出现如下图所示的HIT,即便是fastcgi_cache缓存加速成功配置!我们再查看/dev/shm/nginx-cache目录,会发现出现单个字母或者数字的文件夹!那就表示缓存生效了!
2020年03月25日
29 阅读
0 评论
0 点赞
2020-03-25
WordPress使用开启Nginx fastcgi_cache缓存加速
Nginx内置FastCgi缓存,但是不支持自动清除缓存。当你在Wordpress里面新建/修改一篇文章,或者访客提交评论的时候,自动清空相关的缓存是必要的!Nginx需要安装ngx_cache_purg+量身定做的WordPress缓存清理插件:Nginx Helper。安装Nginx ngx_cache_purge模块1)查看ngx_cache_purge是否安装nginx -V 2>&1 | grep -o ngx_cache_purge 显示ngx_cache_purge表示已经安装2)安装ngx_cache_purge模块《OneinStack》和《lnmp一键安装包》下安装ngx_cache_purge模块cd /root/oneinstack/src wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz wget http://nginx.org/download/nginx-1.13.0.tar.gz #根据自己需要的nginx版本下载 tar xzf ngx_cache_purge-2.3.tar.gz tar xzf nginx-1.13.0.tar.gz cd nginx-1.13.0 nginx -V #查看nginx编译参数,最后加上--add-module=../ngx_cache_purge-2.3 ./configure --prefix=/usr/local/nginx --user=www --group=www \ --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module \ --with-ipv6 --with-http_gzip_static_module --with-http_realip_module \ --with-http_flv_module --with-ld-opt=-ljemalloc \ --add-module=../ngx_cache_purge-2.3 make #编译 mv /usr/local/nginx/sbin/nginx{,_`date +%F`} #备份nginx cp objs/nginx /usr/local/nginx/sbin nginx -V 2>&1 | grep -o ngx_cache_purge # 显示ngx_cache_purge表示已经安装成功 Nginx配置建议将fastcgi_cache_path设置tmpfs内存中,操作系统不同tmpfs路径也不同,如下:CentOS:/dev/shm Ubuntu和Debian:/run/shm 修改nginx虚拟主机配置文件/usr/local/nginx/conf/vhost/domaini.conf:(仅供参考)fastcgi_cache_path /dev/shm/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; server { listen 443 ssl http2; ssl_certificate /usr/local/nginx/conf/vhost/linuxeye_blog.crt; ssl_certificate_key /usr/local/nginx/conf/vhost/linuxeye_blog.key; ssl_ciphers "CHACHA20:GCM:HIGH:!DH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS"; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; #ssl_stapling on; #ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s; server_name blog.linuxeye.com; access_log /home/wwwlogs/blog_nginx.log combined; index index.html index.htm index.php; include wordpress.conf; root /home/wwwroot/blog; set $skip_cache 0; if ($request_method = POST) { set $skip_cache 1; } if ($query_string != "") { set $skip_cache 1; } if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|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 ~ [^/]\.php(/|$) { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; fastcgi_cache WORDPRESS; fastcgi_cache_valid 60m; } location ~ /purge(/.*) { allow 127.0.0.1; deny all; fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } } 使nginx配置生效service nginx reload 重启系统后shm内存中nginx-cache文件夹会丢失,为了使重启生效(自动创建文件夹),修改/etc/init.d/nginx的make_dirs下一行(大概52行)添加:[ ! -d '/dev/shm/nginx-cache' ] && { mkdir /dev/shm/nginx-cache; chown -R ${user}.$user /dev/shm/nginx-cache; } 3. WordPress安装Nginx Helper插件 WordPress后台【插件】—【安装插件】搜索【Nginx Helper】安装即可。全部启用修改wordpress网站根目录wp-config.php添加如下行:define('RT_WP_NGINX_HELPER_CACHE_PATH','/dev/shm/nginx-cache');
2020年03月25日
43 阅读
0 评论
0 点赞
2020-03-25
宝塔面板7.X – Nginx自编译模式下启用Nginx_brotli详细教程
我们没有看到src这个目录的原因,可能是因为你在宝塔面板刚安装好的时候选择编译安装,而不是选择极速安装。这里的细节需要注意下。有的时候真感觉宝塔的编译有点混乱,记得6.X的编译教程跟现在的7.X就不太一样了。因为nginx.sh这个文件被重写了。宝塔的nginx编译文件都是放在/www/server/nginx/src这个路径里面的,但是奇怪的是很多人说找不到src,我今天截个图,表示最新版本的宝塔面板是有src文件夹的。如果没有,说明系统被加固了,你看不到。nginx编译文件 我们甚至看到了ngx-pagespeed,这下编译ngx-pagespeed也变得简单了。但是如果你实在找不到src这个文件夹,那么就把需要编译的东西放到/www/server 这个路径中。或者你放到root目录也可以。编译的时候写对路径也就可以了。下面就开始编译吧。一:下载brotliSSH软件连接到服务器,然后执行如下命令,以下命令是把ngx_brotli放到了 /www/server 路径中。cd /www/server git clone https://github.com/google/ngx_brotli cd ngx_brotli && git submodule update --init 这样我们编译时候的路径就是【/www/server/ngx_brotli 】二:下载nginx.sh宝塔面板找到路径:/www/server/panel/install很奇怪,nginx.sh 这个编译文件还需要到宝塔官网get一份过来。把之前的那个nginx.sh删掉,然后下载新的。命令如下:cd /www/server/panel/install rm -f nginx.sh wget http://download.bt.cn/install/0/nginx.sh 如果你对命令不熟悉,可以直接在面板里面操作,删除nginx.sh文件,如图:然后利用面板的远程下载直接download就可以了。三:查看nginx版本用命令来查看自己的nginx版本号,这里的v是小写,命令如下:nginx -v 看一张图更形象:查看nginx版本这里的版本是nginx/1.17.5四:修改nginx.sh宝塔面板找到路径:/www/server/panel/install找到文件nginx.sh 打开开始编辑。大概在249行,我们添加 --add-module=/www/server/ngx_brotli不会添加看图:修改nginx.sh就放在那个位置吧。之后保存即可。五:执行编译之后回到ssh客户端使用命令开始编译,根据自己的版本,因为这台服务器安装的版本是nginx1.17.5所以用编译命令如下:sh /www/server/panel/install/nginx.sh install 1.17 如果你的版本是1.16,那么就是修改为1.16即可,诸如此类。安装完成之后,我们使用命令:nginx -V 注意这里的v是大写。就可以看到brotli已经编译成功了六:配置Brotli压缩最后,在你的网站的Nginx配置中加入Brotli代码即可(就是网站管理-配置)如图:配置代码如下:brotli on; brotli_comp_level 6; brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml; 解释:brotli on; #启用 brotli_comp_level 6; #压缩等级,默认6,最高11,太高的压缩水平可能需要更多的CPU brotli_buffers 16 8k; #请求缓冲区的数量和大小 brotli_min_length 20; #指定压缩数据的最小长度,只有大于或等于最小长度才会对其压缩。这里指定20字节 brotli_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml text/html application/json image/svg application/font-woff application/vnd.ms-fontobject application/vnd.apple.mpegurl image/x-icon image/jpeg image/gif image/png image/bmp; #指定允许进行压缩类型 brotli_static always; #是否允许查找预处理好的、以.br结尾的压缩文件,可选值为on、off、always brotli_window 512k; #窗口值,默认值为512k 配置完成保存之后可以重启nginx,之后浏览器打开网站就可以看到效果了,如图:
2020年03月25日
23 阅读
0 评论
0 点赞
2020-03-25
减少 WordPress 数据库查询次数来优化性能
WordPress 的数据库其实也是一个影响 WordPress 运行的主要因素,过于频繁的数据库调用、查询也会拖慢网站整体的载入速度。那么今天明月就结合自己的实践操作运用的一些优化减少 WordPress 数据库查询次数的经历分享给大家,希望可以帮助到大家有效提升博客的速度。首先,先分享给大家一段可以在网页源代码底部显示当前运行时 WordPress 数据库查询次数和内存使用情况的代码://显示数据库查询次数、查询时间及内存占用的代码 function performance( $visible = false ) { $stat = sprintf( '%d 次查询 用时 %.3f 秒, 耗费了 %.2fMB 内存', get_num_queries(), timer_stop( 0, 3 ), memory_get_peak_usage() / 1024 / 1024 ); echo $visible ? $stat : "<!-- {$stat} -->" ; } add_action( 'wp_footer', 'performance', 20 ); 上面的代码,直接放到主题 function.php 里既可。不过,还是建议大家采用自己添加的代码独立于主题 function.php 之外,以防止主题更新、更换后自己添加的代码丢失和失效。代码不会增加过多的主机负担,仅仅是利用了 WordPress 的扩展机制的一个小技巧而已,以实现我们自定义代码以“插件”的形式独立出来。上述代码建议大家都加上,这样在博客任意页面的“源代码”里都可以看到当前的数据库查询次数和内存使用情况,便于大家在优化时有个对比。同时在使用一些“插件”的时候也可以用来观察“插件”的内存占用和数据库调用情况。要减少 WordPress 数据库查询次数,我们首先在 WordPress 的 wp-config.php 里进行一些基本的配置,这样就可以减少一些几乎多余的、每次都需要查询数据库的次数,我尽量都配上了中文注释,具体配置如下:define('COOKIE_DOMAIN', 'www.domain.com'); //设置地址而不是服务器检查,这将减少服务器查询 define('WP_HOME', 'http://www.domain.com'); define('WP_SITEURL', 'http://www.domain.com'); //优化文章修改历史:Post-Revisioning define('AUTOSAVE_INTERVAL', 120);// 修改 WordPress 编辑器自动保存时间间隔为 120 秒保存一次 define('WP_POST_REVISIONS', 5);//仅保留保留 5 个最近修改,也可以减小此数字,但不能太低了 define('EMPTY_TRASH_DAYS', 7 );//7 天后自动清空回收站,这个自己根据情况设定 define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );//更新时跳过 wp-content 目录,增加更新效率 //通过剔除对模板路径和样式表路径的数据库查询,这样可提高站点的性能。 define('TEMPLATEPATH', '/wp-content/themes/主题名称'); define('STYLESHEETPATH', '/wp-content/themes/主题名称'); 关于上述代码第一行指定 cookies 域小知识,由于很多原因你需要给站点指定 cookies 域。比较常见的就是阻止子域名上请求静态内容的 cookies 不必要的传输。这种情况下,你就可以使用此定义告知 WordPress 只向非静态域发送 cookies,这将会大大提高网站的性能。如果你的主机支持指定 PHP 使用的内存,还可以根据主机配置情况加入下面任一行代码:define('WP_MEMORY_LIMIT', '64M'); define('WP_MEMORY_LIMIT', '96M'); define('WP_MEMORY_LIMIT', '128M'); 如过你没有使用缓存插件一类的可以开启 WP 自带的缓存(Cache)功能,并设置缓存时间,是非常必要的事情。define('WP_CACHE, true); // 打开 WordPress 自带的缓存功能 define('ENABLE_CACHE', true); // 缓存开关 define('CACHE_EXPIRATION_TIME', 3600); // 缓存时间间隔 注:3.0 后版本要开始缓存在/wp-includes/default-constants.php 中开启,切记哦!对于 WordPress 比较熟的站长可能会发现自己的网站会经常请求向 wordpress.com 的服务器发送请求传送数据,虽然我相信,WordPress 不会对我的小站有什么兴趣,不过这样一来 wordpress 的运行效率就降低了很多。所以为了避免这类外部请求的发送,我们可以通过设置 wp-config.php 来屏蔽此类外部请求的发送,在 wp-config.php 添加如下代码:define('WP_HTTP_BLOCK_EXTERNAL', true); //禁止 WordPress 程序发出对外请求 值得注意的是我们在加入以上代码后你的网站将无法对任何一个外部服务器发出请求,如果站长朋友们为了加速网站收录使用了 ping 功能,加上以上代码后 ping 功能将会失效。解决方法:我们可以设置对外请求白名单即可解决 ping 失效问题,代码如下:(以百度 ping 为例)define('WP_ACCESSIBLE_HOSTS', 'ping.baidu.com');//仅允许 WordPress 向 ping.baidu.com 发送请求 这里要特别强调的是,如果你的博客本身已经集成了类似“微博同步”、“新浪博客同步发布博文”、“微信机器人”等等一些功能的请一定要慎重使用这个“禁止 WordPress 程序发出对外请求”,一旦使用了,所有这些都会失效的,明月目前没有使用这个的,特此强调一下哈!至此,通过 WordPress 的 wp-config.php 配置优化和减少数据库查询次数也就这些了,配置完后大家 可以用本文开头分享的代码在源代码里查看和对比一下是不是数据库查询次数和内存使用量有所改善。大家一定要根据自己的主机配置和 WordPress 配置灵活的设定上述这些开关哦,还有最重要的一点,所有对 wp-config.php 的操作需要在纯文本编辑器里完成,完成后保存时一定要设定此文档的编码为 UTF8,要不上传覆盖后会造成 WordPress “500 错误”的,还有就是要养成提前备份好 wp-config.php 文档的习惯,否则后果自负了!
2020年03月25日
32 阅读
0 评论
0 点赞
2020-03-06
Typecho设置伪静态去掉连接index.php
为Typecho博客系统设置伪静态,并设置相应的配置文件背景未开启伪静态时,博客的链接是带有index.php的,除了不太美观,对搜索引擎的抓取也不太友好进入后台–》设置–》永久链接–》强制启用地址重写会发现所有文章都打不开了、Apache下解决方案问题在于缺少相应的配置文件htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过 htaccess文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许 /阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。下面需要修改.htaccess文件(根目录没有就新建一个)对于Apache服务器<IfModule mod_rewrite.c> RewriteEngine On # 下面是在根目录,文件夹要修改路径 RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> Windows下就新建一个记事本,复制以上代码,然后另存为保存为.htaccess然后上传到网站根目录即可,最后重新后台开启地址重写功能其他环境的配置Linux Apache环境(Nginx)location / { index index.html index.php; if (-f $request_filename/index.html) { rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php) { rewrite (.*) $1/index.php; } if (!-f $request_filename) { rewrite (.*) /index.php; } } Windows IIS伪静态(httpd.ini)[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # 中文tag解决 RewriteRule /tag/(.*) /index\.php\?tag=$1 # sitemapxml RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] # 内容页 RewriteRule /(.*).html /index.php/$1.html [L] # 评论 RewriteRule /(.*)/comment /index.php/$1/comment [L] # 分类页 RewriteRule /category/(.*) /index.php/category/$1 [L] # 分页 RewriteRule /page/(.*) /index.php/page/$1 [L] # 搜索页 RewriteRule /search/(.*) /index.php/search/$1 [L] # feed RewriteRule /feed/(.*) /index.php/feed/$1 [L] # 日期归档 RewriteRule /2(.*) /index.php/2$1 [L] # 上传图片等 RewriteRule /action(.*) /index.php/action$1 [L]
2020年03月06日
61 阅读
0 评论
0 点赞
1
...
9
10
11
...
16