2015-05-08 39 views
1

我正在使用由Openshift託管的NodeJS應用。現在一切工作正常,但我想通過從Web服務器提供靜態文件(html,css,js)來加快速度,而不是通過Express來完成。我在某處讀過節點盒式磁帶沒有運行Apache服務器,因此沒有.htaccess文件,我可以從中配置Apache來發送我的文件。如何服務於Openshift NodeJS應用的靜態資產

如何從我的NodeJS應用程序在Openshift上從Apache服務器或Nginx等Web服務器提供靜態文件?

+1

....爲什麼你不只是爲節點提供靜態文件? – tpie

回答

1

這可能適合您的需求。因爲它獲得靜態服務器...

var finalhandler = require('finalhandler') 
var http = require('http') 
var serveStatic = require('serve-static') 

// Serve up public/ftp folder 
var serve = serveStatic('public/', {'index': ['index.html']}) 

// Create server 
var server = http.createServer(function(req, res){ 
    var done = finalhandler(req, res) 
    serve(req, res, done) 
}) 

// Listen 
server.listen(process.env.PORT || 3000); 
0

自從原來的問題發佈已經有一段時間了,但也許這會幫助其他人面臨同樣的問題。在這裏看看這個定製的OpenShift盒式磁帶:https://github.com/gsterjov/openshift-nginx-cartridge

我沒有親自測試過,但我已經構建了其他定製盒式磁帶,並且我知道OpenShift平臺非常靈活,如果您足夠精通shell,所以如果上述墨盒不適合您的需求,您可以輕鬆地將它叉起來,並根據您的需要調整它。

就我個人而言,我幾乎總是從Node.js提供靜態資產。 built-in static server in Express.js最近變得更好了,如果你需要更多的控制緩存/ etags,還有st

此外,我最近遇到了這個有趣的類似CDN的「靜態資產經典」託管方案:http://surge.sh。我可以想象,在部署激增時發佈靜態資產時,實施gulp/grunt場景是相當簡單的...

相關問題