我正在使用由Openshift託管的NodeJS應用。現在一切工作正常,但我想通過從Web服務器提供靜態文件(html,css,js)來加快速度,而不是通過Express來完成。我在某處讀過節點盒式磁帶沒有運行Apache服務器,因此沒有.htaccess文件,我可以從中配置Apache來發送我的文件。如何服務於Openshift NodeJS應用的靜態資產
如何從我的NodeJS應用程序在Openshift上從Apache服務器或Nginx等Web服務器提供靜態文件?
我正在使用由Openshift託管的NodeJS應用。現在一切工作正常,但我想通過從Web服務器提供靜態文件(html,css,js)來加快速度,而不是通過Express來完成。我在某處讀過節點盒式磁帶沒有運行Apache服務器,因此沒有.htaccess文件,我可以從中配置Apache來發送我的文件。如何服務於Openshift NodeJS應用的靜態資產
如何從我的NodeJS應用程序在Openshift上從Apache服務器或Nginx等Web服務器提供靜態文件?
這可能適合您的需求。因爲它獲得靜態服務器...
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);
自從原來的問題發佈已經有一段時間了,但也許這會幫助其他人面臨同樣的問題。在這裏看看這個定製的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場景是相當簡單的...
....爲什麼你不只是爲節點提供靜態文件? – tpie