2011-08-25 63 views
2

我正在使用Nginx,並且需要能夠在運行中生成圖像。當客戶端發送圖像請求時,我需要運行一個外部程序來生成圖像。外部程序將生成的圖像留在文件系統中。使用Nginx和FastCGI服務動態生成的圖像

看來最簡單的方法是編寫一個運行外部程序的FastCGI腳本,然後從文件系統中讀取圖像,並通過FastCGI將其傳輸到nginx。因爲我需要編寫自己的文件複製例程,並將文件從磁盤複製到本地緩衝區,然後將數據包複製到FastCGI傳輸到nginx,然後傳輸到nginx的緩衝區中,然後然後最終成爲數據包發送到客戶端。看起來,利用nginx有效提供靜態內容的能力會更有效率。

理想情況下,我想要一些方法讓nginx等待,直到圖像生成,然後從磁盤提供它。另一個想法是,也許FastCGI響應可能使用某種標題,表明nginx應該實際上去服務一個文件,而不是來自FastCGI腳本的響應。這兩種方法都可能嗎?

回答