博客更换Nginx服务器

就在今天凌晨,我的博客已经成功更换成Nginx服务器,据说这个服务器很强大,所以决定试一试,目前域名已经重新解析过,我这里已经瞬间生效了,其他地区最迟可能需要48小时才能生效,大家可以ping一下我的域名,如果返回的IP是 64.78.168.38 说明Nginx正在为您服务,如果返回的是 64.78.168.35 说明仍然是apache为您服务,关于这次更换服务器软件,也遇到一些问题,最大的问题就是链接全部失效了,究其原因是Nginx不支持Apache的.htaccess文件,导致重写失败,使用如下方法可以修复:

在Nginx配置文件目录下新建一个 wordpress.conf 文件,内容如下

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虚拟主机配置文件的server段下增加一行

location / {
include wordpress.conf;
}

例如

server {
listen 64.78.168.38:80;
server_name www.killwin.com killwin.com;
index index.php;
root /data/nginx/killwin.com/;

location / {
include wordpress.conf;
}

location ~ .*\.php?$ {
include php5-cgi.conf;
}
}

让Nginx重新加载一下配置文件即可

#/etc/runlevels/default/nginx reload

注:不同发行版的Linux使用的命令路径不一样,我这个是Gentoo所在路径

PS:本文中的方法来自互联网,本人稍加修改,究其原理,目前我还不清楚,因为没有看过Wordpress的代码,等看过wordpress的代码之后再进行分析

location / {
include wordpress.conf;
}

您可以RSS 2.0订阅。 留言,或者引用 Trackback

发表评论

XHTML:您可使用下列标签:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">