2011-08-25 66 views
2

我正在使用Nginx,并且需要能够在运行中生成图像。当客户端发送图像请求时,我需要运行一个外部程序来生成图像。外部程序将生成的图像留在文件系统中。使用Nginx和FastCGI服务动态生成的图像

看来最简单的方法是编写一个运行外部程序的FastCGI脚本,然后从文件系统中读取图像,并通过FastCGI将其传输到nginx。因为我需要编写自己的文件复制例程,并将文件从磁盘复制到本地缓冲区,然后将数据包复制到FastCGI传输到nginx,然后传输到nginx的缓冲区中,然后然后最终成为数据包发送到客户端。看起来,利用nginx有效提供静态内容的能力会更有效率。

理想情况下,我想要一些方法让nginx等待,直到图像生成,然后从磁盘提供它。另一个想法是,也许FastCGI响应可能使用某种标题,表明nginx应该实际上去服务一个文件,而不是来自FastCGI脚本的响应。这两种方法都可能吗?

回答