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. 测试通过后,修改域名解析到新服务器,老服务器清理站点,搬家完成。

修改Nginx和PHP的上传文件上限

1. 修改nginx配置文件:

/etc/nginx/nginx.conf

找到http{}段,添加以下内容后保存退出:(示例为100M,可以自行设定数值)

client_max_body_size 100m;

2. 修改php配置文件:

vi /etc/php.ini
  • 查找 max_execution_time 改为 max_execution_time = 0
  • 查找 post_max_size 改为 post_max_size = 100M
  • 查找 upload_max_filesize 改为 upload_max_filesize = 100M

在启用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

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配置文件

继续阅读

全新CentOS 7安装 LNMP(Linux+Nginx+MariaDB+PHP)及多站点配置

本文介绍在全新CentOS 7系统下安装 LNMP(Linux+Nginx+MariaDB+PHP)的过程,本博客就在此环境下运行。CentOS 7系统安装过程略过,新装后务必先进行安全加固

1. 准备工作

1.1 安装EPEL源

yum -y install epel-release.noarch

1.2 手动进行系统更新

yum -y update

1.3 设置系统当前时区为香港,然后检查系统时区设置

timedatectl set-timezone Asia/Hong_Kong
timedatectl

继续阅读

Nginx重定向配置

1. Nginx rewrite命令简介

rewrite 正则表达式 替换目标 flag标记

语法: rewrite regex replacement flag
默认: none
作用域: server, location, if
此指令根据正则表达式来更改URI,或修改字符串。指令根据配置文件中的顺序来执行。
rewrite只是会改写路径部分,不会改动用户的输入参数,用户在浏览器里输入的参数rewrite后会自动添加。关于正则表达式介绍请点这里

继续阅读