Centos下wordpress从apache迁移到nginx

centos下wordpress从apache迁移到nginx

1. 环境说明

主机:阿里云ECS

操作系统: Centos 6.5

wordpress: 镜像市场提供一键安装(apache,php5,wordpress)

已运行两年

2. 迁移思路

  • 原本想直接更换apache到nginx,多次尝试均失败,所以采用重装wordpress,迁移数据的方式。以后再也不偷懒了,不是自己搭的环境,后期不好维护

3. 迁移步骤

  1. 原网站备份

    1
    访问网站后台,在工具导出里选择导出全部

  2. wordpress准备

    1
    2
    3
    4
    wget http://wordpress.org/latest.tar.gz # 下载
    tar xzvf latest.tar.gz # 解压
    mkdir /web/wordpress # 创建网站目录
    cp -r wordpress/* /web/wordpress/ # 把wordpress文件都移过去
  3. mysql准备

    1
    2
    3
    4
    5
    mysql -uroot -p # 登陆mysql数据库
    create database blog;
    create user blog@'localhost' identified by 'password'
    grant all privileges on blog.* to blog;
    flush privileges;
  4. 修改wordpress的配置文件

    1
    2
    3
    vim /web/wordpress/wp-config.php # 如果没有这个文件那就从wp-config.default copy一份
    # 修改以下项目
    DB_USER,DB_PASSWORD,各种AUTH_KEY
  5. 启用php-fpm

    1
    2
    3
    4
    vim /usr/local/php5/etc/php-fpm.conf # 修改php-fpm的配置文件
    去掉pid,user,group,pool,listen的注释,并将user/group改为自己的值
    cd /usr/local/php5/sbin
    ./php-fpm # 启动php-fpm
  6. 增加站点的配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    cd /etc/nginx/conf.d
    vim blog.conf
    server {
    listen 80;
    server_name www.lefer.cn lefer.cn;
    root /web/wordpress;
    index index.php index.html;
    location / {
    try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    }
    service httpd stop # 停止apache服务,释放80端口
    service nginx restart # 重启nginx
  7. 访问自己的网站,初始化后,利用wordpress导入xml数据,工具->导入->wordpress

  8. 迁移主题、插件、上传的文件到新网站,即从旧目录中wp-content下的plugins,themes,uploads整体拷贝到新网站来。测试是否正常。

  9. 停掉http的开机自启动

    1
    2
    vim /etc/rc.local
    /etc/init.d/httpd start # 注释掉此行
  10. 完成!