对于大部分新手来说,都是使用centOS+Licess的lnmp一键安装包的吧(其实lnmp意思就是Linux+nginx+mysql+php)。本文中的方法也是基于该环境来实现的。在折腾lnmp的过程中,我也遇到了一系列的问题,下面对这些问题作一个归总。

1. nginx下WordPress的伪静态设置

因为nginx还不完全兼容Apache,所以造成一些不便,比如不支持.htaccess(即不能伪静态),那么如何解决这个问题呢?
编辑/usr/local/nginx/conf/nginx.conf文件,在server容器中添加下面这几行:

location / {
index index.html index.php;
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;
}
}

修改完成以后,执行如下命令重启lnmp即可:
/root/lnmp restart

2. 关于将多个域名绑定到同一目录

比如我想将www.zhukun.net和zhukun.net绑定到同一目录,要怎么实现呢?虽然在大部分美国虚拟主机上这两个域名是默认绑在同一目录的,但是在nginx下,它们是各自分离的。
最简单的方法就是在执行./vhost.sh命令添加虚拟主机的时候,同时把这两个域名加进去。当你执行./vhost.sh的时候,会提示你输入要绑定的域名,输入zhukun.net并回车,此时它会问你要不要添加更多的域名,输入Y并回车,再输入www.zhukun.net即可。

万一在添加虚拟主机的时候忘了怎么办?那就只能修改该虚拟主机的配置文件了。

在安装Licess的lnmp一键安装包时,会要求你先输入一个域名,此域名将直接绑定根目录,我们暂且称这个域名为主域名,主域名的配置文件在/usr/local/nginx/conf/nginx.conf下;而通过执行./vhost.sh命令添加的虚拟主机,其配置文件在/usr/local/nginx/conf/vhost/域名.conf之下。

打开相应的配置文件,在server容器中找到下面这一行:
server_name zhukun.net;

将其修改为如下内容即可:
server_name zhukun.net www.zhukun.net;

修改完之后,还要执行如下命令重启一下lnmp:
/root/lnmp restart

3. 关于pureFTPd添加的FTP用户登陆时出现530错误

首先一点是,FTP登陆时客户端会出现乱码,这个很好解决,把FTP客户端的编码设置成gb2312就可以了。重点是登陆时出现530错误怎么办。
个人建议在通过http://domain/ftp/install.php安装完pureFTPd以后,立即登陆SSH执行/root/pureftpd restart重启一下pureFTPd,一般就会OK,但有时还会出现此问题。

编辑:/usr/local/pureftpd/pure-ftpd.conf
找到 MinUID 100
将MinUID的数值改为一个更小的数值(比如2),然后执行/root/pureftpd restart重启pureftpd,就可以解决530问题。
FTP登陆成功后可以将MinUID重新改回100,再次重启pureftpd,仍然可以正常登陆。

4. WordPress后台更新主题或插件时,提示需要填写FTP信息

其实出现这个的问题就是Nginx的执行身份非文件属主身份。解决方法:

假设你的wordpress安装目录为/home/wwwroot/zhukun.net
执行:chown -R www /home/wwwroot/zhukun.net
执行上面的命令就可以将/home/wwwroot/zhukun下所有文件的属主改为www,这样就可以解决自动更新必须填FTP的问题。
注意:1,必须是把wordpress程序文件上传到空间以后再执行该命令,顺序不能颠倒;2,添加完虚拟主机以后,也必须把wordpress程序文件上传到空间以后,再执行该命令。

本文转自:seafly官方团队博客  http://seafly.592mb.com/post/303.html

Last modification:June 25, 2021
如果解决了你的困扰, 赏杯咖啡吧!
正文字体: 苍耳字库(屏幕显示字体)·苍耳今楷