什么是 SSI (Server Side Includes) ?
用过Apache的都应该知道吧,它可以使静态网页实现像动态网页一样 include 的功能,还有一些简单的语法
Nginx 居然默认就自带了 SSI
在 Nginx 开启 SSI ,加入以下3行就OK了,可以放在 http, server, 和location 段都行
ssi on;ssi_silent_errors on;
ssi_types text/shtml;
使用方法举例:
<p>21andy.com Nginx + SSI</p><!--# include file="/tmp/test.html"-->
注意路径的问题,不是硬盘的绝对路径,而是站点的绝对路径
不过我看到官方的文档里说,SSI有个毛病,就是 Last-Modified 和 Content-Length不会发送
that when SSI is enabled the Last-Modified and Content-Lengthheaders are not sent
实际测试了一下,确实如此,唉,美中不足啊
Nginx内置有缓存内存的模块NginxHttpMemcachedModule
,它可以支持简单的缓存。Nginx+SSI+Memcached是目前追求高性能潮流中流行的架构配搭,它利用服务器端的脚本程序,处理访问请求并从memcache中检索数据或直接从后端读取数据。其中,SSI 就是ServerSideIncludes,中文翻译为服务器端包含,它提供一种对现有HTML 文档增加动态内容的方法。值得欣慰的是Nginx也有内置的SSI 模块ngx_http_ssi_module。