WordPress 搬家:Apache to Nginx

备份

网站数据:

  • 安装All-in-One WP Migration插件
  • export to file
  • 将备份文件保存至本地

配置文件(可选):

如果不打算更改数据库/ftp/密钥信息的话,可以将wp-config.php下载至本地,待会装wp的时候就不用自己再改一遍了。

注:Xshell下载/上传文件/文件夹的办法

上传:进入目标文件夹下,将文件拖进Xshell窗口即可。可以看到Xshell是通过ZModem协议进行传输的,自动调用了rz命令。

下载:进入目标文件夹,使用sz <filename>命令,然后从弹出的窗口中选择下载位置即可。

如果提示没有xxx命令,说明没有安装相关软件。这时使用:sudo apt-get install lrzsz命令即可安装。

使用这个办法下载/上传文件夹的时候建议先将文件夹打包,防止传输过程中丢失文件。

全站备份:

一般主机供应商(如瓦工)会提供快照服务,备份一下,万一搞挂了也可以无脑救回来。建议安装/编译完一些软件,测试可用后就备份一下,省的又得从新编译,浪费时间。

获得崭新的主机

本站架设在搬瓦工的机子上,故可以直接使用管理后台安装新的Ubuntu Server系统。一键操作,问题不大。

安装lnmp

LNMP即Nginx/MySQL/PHP。

为贯彻一键安装傻瓜操作理念,我们选择使用lnmp一键安装包,嘿嘿。废话不多说,直接上命令:

wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp

使用方法详见:

https://lnmp.org/install.html

具体选择哪个版本的php,MySQL可自行根据机子内存进行选择。鉴于只有512Mb,我选择了两个default的(MySQL 5.5.60和php 5.6.36)。真的不是因为懒得调,嘿嘿。

安装ftp

进入(刚解压出来的)lnmp1.6文件夹下,输入:

./pureftpd.sh

按提示输入信息,回车即可。

ftp用户根目录我选择安装在nginx的根目录下面。

上传ssl文件

将网站所需的ssl证书及密钥上传至主机,随便找个目录放(自己记得)即可。

添加虚拟主机

还是在lnmp1.6/下执行:

lnmp vhost add

使用方法详见:

https://lnmp.org/faq/lnmp-vhost-add-howto.html

注:

伪静态选择wordpress,脚本会自动配置好重定向的文件。

数据库和ftp账号这里可以选择添加,备用。

默认网站配置无需更改,输入对应域名会自动解析到对应主机。只有直接输入ip才会进入默认页面。

安装各种缓存加速类扩展

详见:

https://lnmp.org/faq/addons.html

想装哪个装那个,建议一类只装一个,避免冲突。

安装WordPress

进入刚刚创建的虚拟主机根目录(即创建成功后信息中的Home Directory一栏)下。

执行:

wget https://wordpress.org/latest.tar.gz && tar -xzvf latest.tar.gz

配置wp-config.php文件

进入刚刚解压出来的wordpress/文件夹,修改wp-config-sample.php中的数据库相关信息。完成后,将该文件重名名为wp-config.php

这里也可以直接上传老站的wp-config.php,然后将有改动的信息更改了即可。

特别要注意的是数据库名字、帐、密,网站地址相关信息。

修改完后就可以把wp-config-sample.php给删了。

wordpress/下的内容移动至虚拟主机根目录,然后删除空的wordpress/

在根目录下执行:

mv wordpress/* . && rmdir wordpress

处理文件权限,以保证后续操作顺利执行

在根目录下执行:

chmod -R 755 *
chown -R www:www *

注:途中会弹出.user.ini权限相关问题,忽略即可。

强迫症的话可以使用chattr -i .user.ini,即可正常修改。

使用浏览器执行安装操作

浏览器中输入虚拟主机对应域名,按照WordPress提示输入信息,并完成安装。

上传网站备份

进入后台的插件管理页面,安装All-in-One WP Migration插件,并启用。

https://import.wp-migration.com/下载插件扩展,下免费的。

add new界面上方找到upload plugin选项,上传All-in-One WP Migration File Extension(刚刚下载下来的zip包),安装,并启用。该插件扩展可解决网站50Mb上传限制。

点击插件的import选项,import from file,选择一开始下载的备份文件,带上传完成后按提示操作完成网站恢复。

硬化网站

修改WordPress文件权限,以提高网站安全性。

进入Nginx根目录(参考路径:home/wwwroot),执行:

find 域名 -type d -exec chmod 755 {} \;
find 域名 -type f -exec chmod 644 {} \;
chown -R root:root 域名
chown -R www:www 域名/wp-content

至此,WordPress从Apache到Nginx的搬家工作已大致完成。

途中可能出现的问题

网页显示不完全,只有文字,没有主题和背景。

这个一般是文件路径不对导致的,因为Apache与Nginx的文件结构不同,搬家时可能会夹带旧的文件地址设定,导致网页无法正确找到WordPress的文件。

解决方法:

检查各个配置文件中路径设置是否正确,主要的配置文件有:

  • WordPress的wp-config.php(参考路径:home/wwwroot/域名/wp-config.php
  • Nginx的nginx.conf (参考路径: /usr/local/nginx/conf/nginx.conf
  • 虚拟主机的配置文件 (参考路径: /usr/local/nginx/conf/vhost/域名.conf

更改配置文件后,页面并没有发生变化

可能原因是WordPress中安装了网页缓存插件。

解决方法:

暂时禁用插件,并删除现有的缓存文件即可。

无法连接至ftp服务器

原因:WordPress默认以域名作为服务器地址,但有的时候国内的小鸡无法很好的解析域名的地址,导致无法连接。

解决方法:将ftp服务器地址从域名改成127.0.0.1即可。

参考网站

https://lnmp.org/

1人评论了“WordPress 搬家:Apache to Nginx”

  1. Pingback: WordPress快速重装 - Fivyex's Blog

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据