最近尝试用vps搭建服务器,使用了Lnmp一键工具作为安装web服务的软件。

在测试wordpress 的时候发现伪静态插件和lnmp自带的wordpress.conf文件冲突,导致nginx错误无法启动,后懒得调试,自己重新搭建,却发现伪静态出现了问题。在搜罗网上关于wordpress伪静态的解决方案测试后,发现有些网站的教程不是特别完整,故整合汇编了此文,供一些菜鸟使用。

解决方法

直接贴出解决方法。

声明:我的测试环境是Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-48-generic x86_64),使用Lnmp1.2。

1.检查wordpress.conf的文件是否有问题,正常应该如下(或者直接修改成如下):

vi /usr/local/nginx/conf/wordpress.conf

1
2
3
4
location / { if (-d $request_filename){ rewrite ^/(.*)([^/])$ /$1$2/ permanent; }
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; }}

 

2.检查虚拟主机(vhost)下的文件:

vi/usr/local/nginx/conf/vhost/www.alaxn.ml.conf

(www.alaxn.ml修改成自己网站的配置文件名称,如果不知道,也可以使用

cd /usr/local/nginx/conf/vhost/

进入该目录后 dir 列出所有文件,寻找需要修改的文件)

vi打开后应该会看到类似代码:

1
2
3
4
5
6
7
server {
listen 80;
server_name www.laozuo.org;
index index.html index.php;
include wordpress.conf;

……(省略下文内容)

如果没有“include wordpress.conf”,请自行添加进去后保存退出。

 

3.重启Lnmp

lnmp restart,观察是否可以重启成功。

若还出现其他问题,请自行寻找错误代码或特征谷歌。关于代码原理可以参考下文文章。

参考文章

LNMP环境中WordPress程序伪静态解决方案

修复军哥lnmp一键安装wordpress伪静态规则错误