server {
server_name ~^(.*\.)?(?<app>[^.]+)\.dev$;
root /opt/apps/$app/public;
rails_env development;
passenger_enabled on;
}
Nginx 0.8.25+ 应该都能用,参考 server_name
需要跑哪个 Rails/Rack app 就在/opt/apps 下面建立个 symbol link(link 到含 config.ru 的根目录)
cd /opt/apps
ln -s /path/to/myapp
当然 http 里需要设置下passenger_root
和passenger_ruby
。
www.myapps.dev 和 myapps.dev 都会访问 /opt/apps/myapp
如果你连/etc/hosts 都不想改,想像 pow 那样,在 Mac 下可以用这个脚本来启动 pow 里的 DNS server
Linux 有Hoof可以用(我还没试过),使用 nsswitch 来自动把指定的根域名解析到本机