Nginx环境中配置WP Super Cache插件使用Mod_Rewrite模式

在WP站点nginx配置文件中加入如下内容,注意检查原先配置文件,避免配置项冲突。

# WP Super Cache 设置.
# Designed to be included from a 'wordpress-ms-...' configuration file.
set $cache_uri $request_uri;

# POST 的请求和带参数的请求都通过php处理
if ($request_method = POST) {
 set $cache_uri 'null cache';
}
 
if ($query_string != "") {
 set $cache_uri 'null cache';
}

# 以下文件不缓存
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
 set $cache_uri 'null cache';
}

#对于已登录用户不缓存
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
 set $cache_uri 'null cache';
}

# 当其他连接访问Wordpress的时候通过下面的路径找到缓存文件的地址,访问缓存页面
location / {
 try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ;
} 
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; }
 # Cache static files for as long as possible
 location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
 expires max; log_not_found off; access_log off;
 }

WordPress搬家

  1. 在新服务器上配置运行环境,为了省事和老服务器保持一致。
  2. 在老服务器上WordPress后台启用维护模式,备份站点文件和数据库。
    cp -r /data/ifshow/crt /data/ifshow/web/crt
    cd /data/ifshow/web
    tar zcf ifshow.tar.gz ./*
    mysqldump -u用户名 -p密码 数据库 | gzip > ifshow.sql.gz
  3. 新服务器从老服务器web方式下载备份文件(也可以改用FTP方式)。
    wget http://www.ifshow.com/ifshow.tar.gz
    wget http://www.ifshow.com/ifshow.sql.gz
  4. 在新服务器上,解压还原站点文件和数据库。
    gunzip < ifshow.sql.gz | mysql -u用户名 -p密码 数据库
    cp ifshow.tar.gz /data/ifshow/web/ifshow.tar.gz
    cd /data/ifshow/web
    tar -xvzf ifshow.tar.gz
    mv crt /data/ifshow/crt
    rm -rf ifshow.tar.gz
  5. 测试通过后,修改域名解析到新服务器,老服务器清理站点,搬家完成。

在启用wordpress固定链接后修改nginx配置文件

修改nginx的wordpress配置文件,在root行下面添加以下内容后保存退出:

location / {
 try_files $uri $uri/ /index.php?$args;
 }
 rewrite /wp-admin$ $scheme://$host$uri/ permanent;

重启nginx和php-rpm服务:

systemctl restart nginx.service
systemctl restart php-fpm.service

如何为WordPress做安全防护?

转自:http://www.freebuf.com/articles/web/49210.html

最近看了infosec 出品的<<Protecting WordPress Installations in an IaaS Environment》,决定给裸奔的wordpress做做安全加固。

wordpress是国人搭建个人博客的首选,其地位等同于论坛搭建首选discuz(话说,discuz才报出全局变量绕过导致的命令执行大洞,唉,开源的APP都是不产蜜而产getshell的蜂巢)

wordpress以丰富的插件(插件漏洞)闻名,因此攻击者一般会对wordpress来个指纹识别(除去找暴力破解/社工后台登陆口的快捷方法)

继续阅读

WordPress在数据库中的默认表

wordpress插件在卸载后通常会遗留一些表在数据库中,需要手工删除。
对照wordpress默认表以免误删。

 wp_commentmeta
 wp_comments
 wp_links
 wp_options
 wp_postmeta
 wp_posts
 wp_term_relationships
 wp_term_taxonomy
 wp_terms
 wp_usermeta
 wp_users

Nginx下使用WordPress的WP Super Cache插件

参考:http://codex.wordpress.org/Nginx#WP_Super_Cache_Rules

1. 在WordPress后台安装WP Super Cache插件并启用

进入后台在插件-安装菜单搜索WP Super Cache,这是wordpress官方推荐插件。

2. 修改WordPress的nginx配置文件

继续阅读

修改WordPress让前端显示文章更新时间

wordpress官方主题前端不显示文章更新时间,通过修改模板函数可以显示更新时间。

进入wordpress后台,点击左侧导航“外观”-“编辑”,在右侧列表选择模板函数 (functions.php),在编辑框中查找XXX_posted_on形式的函数,修改为以下内容:

继续阅读

WordPress修改pre H1 H2标签的样式

wordpress4.x官方主题pre标签样式效果一般,可以自行修改。登录wordpress后台:点击左侧导航“外观”-“编辑”,在右侧文件列表选择style.css进行编辑,查找pre样式定义进行修改。

pre {
 background: #d9e9ff;
 font: 13px "Courier 10 Pitch", Courier, monospace;
 line-height: 1.5;
 margin-bottom: 1.625em;
 overflow: auto;
 padding: 0.75em 1.625em;
 border-style:solid;
 border-width:1px 1px 1px 1px;
 border-color:#7FB5FF;
 }

background定义背景色,font定义字体字号,line-height定义行高,margin-bottom定义外下边距,overflow定义滚动条,padding定义内边距,border-style定义边框样式,border-width定义边框粗细,border-color定义边框颜色。

继续阅读