wordpress博客从虚拟主机搬家到独立ECS服务器的教程
我的这个博客在2017年4月10日前是搭建在阿里云虚拟主机上面的,虚拟主机的特点就是稳定,不需要自己做过多的配置,适合访问量不大,对环境要求不高的网站。
现在我尝试做我的wordpress博客做下https,在阿里云虚拟主机下是没法直接设置https的,需要依靠CDN来实现。
不过我有自己的独立ECS服务器,要对博客设置https的话,只需搬迁到ECS上来就可以。
一、在ECS上新建博客网站:空间+数据库
新建空间,名称就叫blog吧。
新建数据库:为了减少搬迁后的重新设置,建议将数据库名、用户名、密码同虚拟主机上的设置保持一致。这样的话,在搬迁后,只需修改wp-config.php文件中的数据库地址为localhost即可连接上新的数据库。
二、备份虚拟主机上的网站文件和数据库
1、备份网站文件:这里就直接使用阿里云虚拟主机后台提供的网站文件压缩功能,直接将网站根目录压缩为一个压缩包文件即可。
压缩后的文件名可以命名为:a.tar.gz
2、备份数据库:
数据库的备份同样使用阿里云后台提供的备份功能:
将数据库下载到本地,解压出来备用。
三、迁移网站文件到新空间+迁移数据库
1、网站文件迁移
我这里使用的是linux系统,可以使用命令行来做操作。
首先:
进入blog目录:cd /www/blog/public_html
使用命令行下载备份文件到本目录:wget http://www.aaa.com/a.tar.gz
解压文件到本目录:tar zxvf a.tar.gz
到此为止,网站文件迁移完成。
2、网站数据库迁移
SSH登录系统,登录mysql数据
#mysql -u root -p #注意-p就是要用密码登录了,这里登录都是mysql的账户密码#此时会提示输入密码,输入即可登录#mysql> |
2.选择数据库
#mysql>use database_name #database_name 替换成需要还原的数据库 |
3.选择备份.sql文件,开始导入
#mysql>source /root/backup-20140807.sql #选择备份数据对应路径即可完成 |
4.数据还原结果 提示,完工。
如果还原结果有异常,就按照提示解决即可。
到此为止,数据库导入完成。
当然不要忘记了修改wp-config.php文件中的数据库地址为localhost即可连接上新的数据库。
到此为止,整个博客网站搬家完成。
重要的配置修改:伪静态!!
搬家后你是不是发现很多文章打不开了?
对,就是伪静态的问题。
IIS伪静态规则
IIS 环境是 Windows 主机常用的服务器环境,新建一个 txt 文件,将下面的代码添加到文件中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
[ISAPI_Rewrite] # Defend your computer from some worm attacks #RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through RewriteRule /tag/(.*) /index\.php\?tag=$1 RewriteRule /software-files/(.*) /software-files/$1 [L] RewriteRule /images/(.*) /images/$1 [L] RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] # For file-based wordpress content (i.e. theme), admin, etc. RewriteRule /wp-(.*) /wp-$1 [L] # For normal wordpress content, via index.php RewriteRule ^/$ /index.php [L] RewriteRule /(.*) /index.php/$1 [L] |
然后另存为 httpd.ini 文件,上传到WordPress站点的根目录即可。
Apache伪静态规则
Apache是 Linux 主机下常见的环境,现在一般的 Linux 虚拟主机都采用这种环境。新建一个 htaccess.txt 文件,添加下面的代码:
1 2 3 4 5 6 7 8 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> |
然后上传到 WordPress 站点的根目录,重命名为 .htaccess 即可
Nginx伪静态规则
Nginx环境一般是Linux 主机 VPS或服务器用户用的比较多,这些用户一般都会自己配置Nginx,或者有专门的人帮你配置,打开 nginx.conf 或者某个站点的配置环境,比如 wpdaxue.com.conf(不同人配置的不一样),在 server { } 大括号里面添加下面的代码:
1 2 3 4 5 6 7 8 9 10 11 |
location / { 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; } } |
保存,重启 Nginx 即可。
此次wordpress博客网站搬家过程,不涉及到重装程序,避免了很多麻烦。