所谓再谈是建立在之前文章《windows server 2003 IIS环境下配置wordpress站点的rewrite/wordpress配置伪静态/wordpress怎样配置伪静态/wordpress静态化》之上的。
今天把网站的服务器换了一下系统,为什么要换系统呢?其实我也不是特别愿意换,毕竟windows操作起来特别简单,但微软不是放弃windows server2003了吗,所以呢,经过一段时间的尝试,我决定使用linux。
于是我又凭借大学生的身份去阿里云买了个便宜的云服务器(我的推荐码 : LD4QCZ,购买的时候填写会打9折哦,点击页面右侧那个云服务器的广告就可以),昨天买的,本来以为我需要一两天的测试时间,结果发现,移植这玩意很简单,如果你用的是虚拟主机,那么更简单,最后我会捎带提一下虚拟主机的问题。下面我们开始吧!
先来谈谈搬家的问题
网站很久没有更新了,不是因为这么多天我都没有什么东西好分享,主要是因为笔记太杂,直接帖上来总不行吧,整理就得时间,所以呢索性我就一直把笔记记在我的电脑上。也许放假了我会整理一下吧,谁知道呢!开始吧
首先我们就是先得把数据库备份一下,怎么备份呢?
登陆phpmyadmin,用root用户登陆就可以,我们不去做什么危险操作。
进入我们的wordpress的表。叫什么wp什么的,然后点击导出
然后呢你可以这么直接导出,也可以点击自定义,更改一下压缩选项等等,但是我嫌麻烦,直接导出。
导出来使用是一个sql格式的文件。下载到本地。
然后呢我们需要做的就是备份整个网站的全部内容(下面我只是做一个演示,现场已经没了)
如果是linux我们用zip命令 或者tar命令打包压缩
tar命令的格式
tar(可以将整个目录打包成一个文件,默认不会覆盖原来的文件)
选项:
-c 建立压缩文件的命令(create)
-x 解压缩文件的参数命令
-t 查看tarfile里的文件
-z 是否同时具有gzip的属性,即是否需要用gzip压缩
-j 是否同时具有bzip2的属性
-v 压缩过程中显示文件,这个常用,但是不建议在后台执行
-f 使用文件名,注意在f之后要立即接文件名,不要再加参数
-p 使用源文件的属性
-P 使用绝对路径来压缩
-N 比后面接的时间还要新的文件才会被打包
--exclude 压缩过程中不要将FILE打包
注意:如果压缩命令如下tar -czvf 123.tar.gz /home/duxing/文档/
则查看压缩文件要如下 tar -tzvf 123.tar.gz
解则压tar -xzvf 123.tar.gz
如果只要压缩文件内的一个文件则可以通过下面的命令来执行
技巧:
比如,我要备份/home /etc但是不要/home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
至于zip更简单,自己百度一下就可以了
压缩成一个zip文件是为了方便我们下载,为什么不用别的格式呢?当然是为了不必下载更多的工具来解压。zip格式在windows和linux都可以轻松解压出来
然后我们要做的就是更换主机了,像我就直接换系统盘了(顺便吐槽一下,阿里越来越坑了,原来系统都是不要钱的,现在居然要钱了,10块10块的要,这哪承受的起啊)
主机有了,我们要做的就是把网站文件上传到服务器,上传的方法有很多,比如在自己的机子上搭建一个ftp服务器,让主机来自己的机子上下载,当然一般人不会这么干,我们大多数人选择把新买来的服务器开一个ftp服务,用ftp工具工具上传到服务器上,这个过程可能有一点长,耐心等待。
在上传的过程中,我们可以搭建服务器的环境了,装上php 装上apache 装上mysql OK 可以了,
下面我们要做的就是就是建立一个mysql用户(总不能用root让wordprss用吧),还是用phpmyadmin登陆后台,创建一个用户,然后新建一个表,表的名称的,用户的用户名,密码全在网站根目录下wp-config.php中。
记得把新创建的用户的权限全部限定在这个表当中哦。
然后我们要做的就是将刚才备份的数据库导入新的数据库
OK,数据库这块基本已经搞定了。
如果你的域名没换,那么这就可以了,如果你的域名换了需要全部替换数据库里原来的域名为现在的域名
首先要做的就是修改数据库表wp_options里的“siteurl”和“home”字段的值,改为你的新域名;
然后修改什么图片啊之类的东西的域名,需要在mysql里执行下面的语句
UPDATE wp_options SET option_value = REPLACE(option_value,'旧地址','新地址');
UPDATE wp_posts SET post_content = replace(post_content,'旧地址','新地址');
UPDATE wp_posts SET post_excerpt= replace(post_excerpt,'旧地址','新地址');
UPDATE wp_posts SET guid= replace(guid, '旧地址','新地址');
如果没有什么特殊情况,不推荐换域名。
到现在刚才我们上传的网站文件应该已经差不多了,我们解压出来
如果是windows,我们点击右键,修改文件的权限,其实就是让web用户可以在这个文件里读写
如果是Linux我们用chown 和chgrp 来更改文件的所有者,文件权限是不用改的,因为它带着原来的权限呢,你给一个txt加执行权限它也执行不起来不是吗
如果你用的是虚拟主机,那么直接上传就可以了,权限就是你自己的权限,什么都不用改。
如果你没有按照上面的wp-config.php设置数据库,那么就得安装数据库修改这个文件了,反正得让他们两个统一了。
现在,可以了,设置你的www主目录为wordpress目录,然后就可以访问了,搬家基本成功。有些小问题可能大家都不一样,最后我在谈谈可能遇到的。
下面我们再来谈谈伪静态的问题
与windowsIIS环境不同,伪静态其实到了linux+apache这里特别简单,我们要做的就是保证apache加载乱rewrite模块检查方法就是查看apache的httpd.conf (设置路径不一样,如果你用的是虚拟主机,这些都是浮云,直接设置,行就是行,不行就是不行,你联系空间上好多都不帮你设置)中LoadModule rewrite_module libexec/mod_rewrite.so是否存在,如果前面有#请去掉
其次检查文件中 AllowOverride All #如果后面参数为None需要修改为All
然后看看wordpress根目录下面存不存在一个.htaccess的文件,如果有,那么删掉
然后登陆wordpress,设置连接格式,设置完之后查看是否可以正常显示页面,一般情况下都是可以的,网上那些代码其实你不用看,wordpress是自己生成.htaccess文件的,只要你赋予了它该目录的写权限,那么他就会自己生成这个文件。主要就是apache的rewrite是否开启的问题
/etc/init.d/httpd restart
问题
设置连接格式后根目录下没有产生.htaccess文件
请检查你的网站目录的权限,看你的web用户是否具有该目录的w(写)权限
LoadModule rewrite_module libexec/mod_rewrite.so不存在
那么你只好重新编译或者重新安装apache了
网页有些效果没有了,比如我网站的导航小人
这个原因极有可能是你原来用的windows然后换成了linux像我一样,你要知道linux是严格区分大小写的,你要做的就是检查页面的css文件和js文件的路径,看是否都能正常访问,如果不能,请检查大小写问题
设置了apache之后没有反应
设置了apache的httpd.conf文件是需要重启apache的下面的命令可以帮你
service httpd start 启动
service httpd restart 重新启动
service httpd stop 停止服务
最后说一句,遇到问题多问问百度,所有问题都会迎刃而解的。
