我打算将ASP.NET MVC网站转换为ServiceStack Razor,目的是将其托管在Linux服务器上。
提供网站静态内容的最佳解决方案是什么? Nginx背后的自托管守护程序是否可以,或者我应该使用Nginx直接服务吗?使用Mono FastCGI有什么好处/坏处?
答案 0 :(得分:1)
如果您有机会使用nginx提供静态文件,那么这将始终是最有效的选择。
这也是www.servicestack.net对很多Live Demo's所做的事情。
答案 1 :(得分:1)
我同意mythz,并且也这样做,但是您也应该考虑允许缓存这些静态文件,以加快客户端的浏览速度并减少服务器的负载。
在我的nginx配置中,我定义了直接提供的常见静态类型(允许浏览器端缓存),然后使用版本查询字符串对这些类型的所有引用进行版本化,以便在需要新副本时强制刷新(即/ style.css?version = 2)
示例:
location ~* \.(htm|html|jpg|jpeg|png|ico|txt|css|js|ico|pdf|gif|ttf|woff|svg|pdf)$ {
#server it directly, but allow caching
expires 30d;
}