Posts Tagged ‘nginx’

保护Rails应用的svn目录

March 29, 2008 Tags: , , ,

Rails开发者喜欢用Capistrano来自动化部署网站应用(什么,你不用?),即使不使用自动化部署,很多人也会使用svn co直接将代码取到网站应用目录。这给网站信息泄漏提供了方便。使用下面的地址,就能访问到这样的网站的svn信息:

  • http://somesite.com/.svn/entries
  • http://somesite.com/.svn/javascripts/entries

这可不大妙,因为这个文件里包含了你的svn库的地址、用户名和当前目录内容等很多信息。最好通过服务器配置来禁止对.svn目录的访问。在nginx下,可以在server配置下加入这一条:

location ~ /\.svn {
    deny    all;
}

另一种方式是在config/deploy.rb中加入以下设置,使用svn export来导出代码:

set :deploy_via, :export

不过很多时候为了手工维护站点的需要,我更倾向于用svn co(svn checkout)。

使用Nginx和Mongrel Cluster部署Rails应用

January 4, 2008 Tags: , , , , ,

介绍在Linux上以Nginx为前端、Mongrel Cluster为后端部署Rails应用的方法及步骤。(菜盘子网站实际使用的部署方法)

平台:Ubuntu 7.10 (Gutsy Gibbon)

注:本文发于Enjoy Rails,该blog专注于rails,坚持原创。yo2用户投稿地址为:http://enjoyrails.com/wp-admin/yo2.post.php

阅读全文

nginx 301重定向

December 17, 2007 Tags: , , ,

nginx中进行301重定向(301 redirect)是非常容易的。比方说要将www.caipanzi.com永久性重定向至caipanzi.com,有两种方法:

1.方法A

server {
    server_name caipanzi.com www.caipanzi.com;

    if ($host != 'caipanzi.com' ) {
        rewrite  ^/(.*)$  http://caipanzi.com/$1  permanent;
        proxy_set_header Host "caipanzi.com";
    }
    ...
}

2.方法B(为带www的域名单独设一条server规则)

server {
    server_name  www.caipanzi.com;
    rewrite ^(.*) http://caipanzi.com$1 permanent;
}

菜盘子目前用的是第2种方法。