/app
文件夹通常包含动态数据,/public
文件夹包含静态文件。这是为了缓存和性能。 Web服务器可以将/public
文件夹中的文件直接输出给用户,而无需额外的Ruby调用。它还可以缓存静态文件,在它们上设置各种标题等等。
在生产环境中,/app
由Ruby appserver提供,即mongrel,thin,unicorn等,而/public
由更好的网络服务器提供服务提供静态内容,即nginx。有时,您还希望将/public
与CDN分开,即Amazon S3。解耦这两个目录可以在生产环境中提供更好的部署安排。