2013-02-22 55 views
0

我已经安装了WSO2 Carbon 3.2.2,并且想要托管一些我可以从浏览器(特别是构成工作网站的各种HTML和JavaScript文件)访问的静态文件。我希望能够从http://localhost:9763/<MY_FILES>访问文件。使用Carbon 3.0.0,这与将文件放入<CARBON_HOME>/webapps/一样简单。 Carbon 3.2.2没有<CARBON_HOME>/webapps/目录,添加它并没有帮助。如何在WSO2 Carbon 3.2.2中托管静态文件?

我注意到(安装某些功能后)有另一个webapps目录位于<CARBON_HOME>/repository/deployment/server/webapps/,但这似乎是专门用于部署war文件。

我试过把我的文件放在任何地方都能想到,但我没有运气。

是否有我需要安装的功能?是否有特殊位置放置这些文件?这仍然是一个支持的功能?

回答

1

这从来都不是碳的广告功能,也不推荐使用。因此,您不能期望对“非功能”具有向后兼容性。

正确的事情在生产环境中是使用一个Web服务器(Apache时,Nginx的等等),因为Web服务器进行了优化,做到这一点为静态文件。然后通过Web服务器代理与Carbon的连接。例如,通过使用Apache的mod_proxy。

您仍然可以使用应用程序服务器(或将AppServer功能安装到任何Carbon服务器后)来创建.war文件,并将您的静态网站安装到那里。然后再次,如果它是一个使用Application Server的静态网站是一个矫枉过正。

+0

考虑一下:我有一个基于SOAP或REST的JavaScript客户端,它运行在Web浏览器中。如果JS文件是从端口80上的Web服务器提供的,那么它将无法与从端口8080上的WSAS提供的应用程序进行通信,因为它会中断相同的源策略。通过删除静态文件未记录的功能,ws02只是使自己更不相关:只适用于使用模式os jsp样式方法的web浏览器。这太遗憾了。我去给你奖金,因为你回答了这个问题,但我认为WS02真的错过了船,这些天... – 2013-02-28 19:03:43

+0

巴蒂尔,在配置mod_proxy的,你可以以这样的方式配置说,你的主机您的JS客户端在端口80.所以你的JS可以像http://example.com/myfile.js一样访问。然后说你的WSAS正在8080端口上运行,可以从http://example.com:8080访问。当你配置mod_proxy时,你可以用http://example.com/wsas-> http://example.com:8080这种方式进行配置。所以到你的JS文件,它会显示为来自同一个域。另外还有一个你可能感兴趣的项目 - http://jaggeryjs.org。它是一个完整的基于JS的webapp开发框架,服务器端的JS。 – 2013-03-01 04:13:39

+0

但是,这是一个额外的服务,我没有启动之前只是为了服务几个JS和HTML文件。至于Jaggery,不帮我们用SOAP服务吗? – 2013-03-04 17:49:02