0%

重建服务器+wordpress迁移+固定链接404错误+wordpress没有访问网页服务器的权限

其实之前网站上并没有多少东西,除了某个奇怪的功能被我强行下线,百度贴吧签到器正在后台默默的跑之外,要迁过来的只有主页和wordpress而已。而主页总共就俩文件,wordpress自然是重中之重。这次迁移学到了不少东西,贴出来分享下。

vps刚到手的时候,系统选择让我纠结了好久。起初和曾爷爷一样跳坑用了CentOS 7,期间参考了骏骏菊苣的这篇文章,不过玩了两天之后我发现这货并不适合我的智商,果断换回Ubuntu。Debian也不错,我树莓派用的是基于Debian的Raspbian,Kali也是基于Debian的。Nginx直接编译安装并没有卵用,于是我apt-get了下,然后再编译安装加进SSL模块。具体还是详见猪大婶的文章

wordpress站的nginx配置文件我对着default重写了一个/ect/nginx/sites-available/wordpress,接着做个软连接:

ln -s /ect/nginx/sites-available/wordpress /ect/nginx/sites-enabled/wordpress

wordpress本身在服务器里面就两块:网页文件和数据库。于是我们将这两块打包拖下来就可以。

打包(其实是压缩)wordpress文件:

tar zxvf wp.tar.gz /usr/share/nginx/wordpress

导出wordpress数据库:

mysqldump -u USERNAME -p wordpress > wp.sql

然后到根目录下把wp.tar.gz和wp.sql拖到本地来,再上传到阿里云的/usr/share/nginx文件夹。

解压wordpress:(压缩包里面是带着完整路径的,于是我把里面的wordpress拖出来了重新打包的,下面是解压重新打包的命令)

cd /usr/share/nginx/
tar zxvf wp.tar.gz

导入wordpress数据库:(先新建wordpress数据库)

mysql -u USERNAME -p
mysql> creat database wordpress;
mysql> exit;
mysql -u USERNAME -p wordpress < wp.sql

没啥大问题的话就可以访问了,如果网站地址改变了会访问不正常,可以这么修改:

mysql> use wordpress;
mysql> UPDATE wp_options SET option_value='你的新地址' where option_id=1;

然后就能成功访问后台了,登陆进去之后把网站设置里两个地址全改成你的新地址。

点进去之后发现所有的文字链接都404了,于是对比了下我新写的配置文件,发现server {}里面少了这一段:

location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

这就是告诉nginx怎么解析固定链接的配置。

然后在删除插件的时候,我发现wordpress提示”要执行请求的操作,WordPress需要访问您网页服务器的权限”,并让我输入FTP或者FTPS的用户名和密码。分析应该是wordpress目录权限不够,于是给目录加权限解决问题:

chown -R www-data /usr/share/ngxin/wordpress
chmod -R 775 /usr/share/ngxin/wordpress
chmod -R 777 /usr/share/ngxin/wordpress/wp-content/

百度到说还有一种方法是修改wp-config.php文件,并没有去验证:

define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

添加到wp-config.php最后即可。