Perfect settings for Magento on Nginx

Nginx 的文档不够详细,挺折腾人的。我经过两天181次黑匣试验,终于敢说入了 Nginx 的门。摸清 Nginx 的思路以后,才体会到它的先进性(不仅是效率上的)。php 和 nginx 搭配使用,感觉就不那么草根了,更容易借鉴 python 的 web infrastructure.

从 Apache 到 Ngnix,不容易啊。难就难在要抛弃 Apache 的思维,其实同样的配置在 Nginx 总能做到的,而且更简洁。在Apache 下,我用 symbolic link 实现 Magento 和 WordPress 等一次安装多处使用,当时我认为已经是很简单的解决方案了;转移到 Nginx 平台,多处使用连 symblic link 也省了。

以下是 Magento on Nginx 的配置,perfect,可以以不变应万变,目前我挺得意的。别笑我,这么几行配置,折腾我两天。

location / {

root  $php_doc_root;

index  index.php;

if ($uri ~ ^/(media|js|skin)/) {

break;

}

if (!-e $request_filename) {

rewrite .* /index.php last;

}

}

location ~ ^/(app|lib|var)/ {

deny all;

}

location ~ ^/report/.*\.xml {

deny all;

}

location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico)$ {

root  $php_doc_root;

index  index.php;

access_log        off;

expires           30d;

}

5 comments

  1. 能说详细点吗?
    我想详细了解MAGENTO运行在Nginx下的情况。。
    会不会比APACHE更快?
    具体如何配置?我从来没有接触过Nginx。能在后面的博客中详细说明吗?

  2. 在高负载、服务器资源紧缺的情况下,Nginx 才会比 Apache 有更好的表现。我的服务器远不是高负载,我暂时没有从 Nginx 中受益。但我还是把所有网站迁往 Nginx,为了 future proof.

    另外,虚拟主机多了,用 Nginx 配置就不如 Apache 方便。说到底 Nginx 还是为高负载服务器设计的,如果在整台服务器搞单一的配置,Nginx 就突显优势了。

    要让 Magento 跑得更快的介绍文章已经很多了(可能跟 Magento 相对较慢有关),各种方法能不能发挥奇效还要看各人环境。

  3. 博主最近是否有空拉一把国内的朋友们,我们小团队正做一个基于magento的电子商务站。很是需要博主这样的大牛的帮助。静待佳音,谢谢!

  4. 感谢及时回复!项目还在pre-alpha的超早期阶段,是否能发信到我留下的邮箱里详谈?多谢

Leave a comment

Your email address will not be published. Required fields are marked *