我在最后一年的项目中工作,我使用eclipse JEE,tomcat 8.5和Axis 2在动态Web项目中创建了一个Web服务(所有这些都在Ubuntu 16中运行)。这个web服务调用一些安装在计算机上的程序(例如Matlab),所以我需要这台计算机来托管Web服务。这个Web服务在本地主机上工作正常(我创建了一个客户端来检查它)现在我需要做下一步。如何在互联网上部署此Web服务? (没有localhost),有任何教程或文档可以做这样的事情吗?我工作的计算机属于我的大学,因此它连接到大学网络。
我已经读过我需要一个WAR文件,我知道如果我右键单击我的项目并选择导出它显示“WAR文件”,这场战争将包含我添加的所有引用和.jar? (我很害怕这个,因为我需要添加一些.jar以及一些本地库位置)同时我知道我需要一个Statc IP而不是动态IP。如果我无法访问大学路由器,我该如何实现呢?
感谢您的帮助。
答案 0 :(得分:1)
如果您想要自己的域名,那么如果您想上网,则必须购买域名。有GoDaddy或BigRock等网站提供域名。
如果您是为测试或演示目的而进行的,可以使用NGROK工具。此工具将通过Internet提供域(类似于http://.ngrok.io),该域将映射到您的localhost。如果您使用的是付费版本,则可以自定义域名。
ngrok.exe http 8080
或强>
ngrok.exe start -config="config.yml" config-name
config.yml
http_proxy: ""
log: ngrok.log
tunnels:
config-name:
proto: http
addr: 8080
答案 1 :(得分:0)
正如您所说,您需要一台计算机来托管Web服务"在互联网上,因为你也有限制使用特定的库,所以你不能使用像heroku这样的"准备主机"(paas)解决方案,因为你无法访问/控制托管您的webapp的计算机。我知道处理的唯一解决方案是VPS托管(https://www.ovh.com/us/vps/),您可以"租用"一台远程计算机(如果你愿意,可以使用ubuntu 16)并对其进行完全控制,例如你可以安装你想要的任何本机库,以及你想要的任何servlet容器/ web服务器,就像你在本地计算机上一样。
然后你的网络服务将在互联网上,这是"外面"大学网络,如果您需要访问只能从大学网络访问的某些数据/服务,除非您有通过VPN通过{{3}}连接大学网络的特殊(且安全)访问权限,否则您无法使用此解决方案。如果大学网络中存在某些内容以允许来自互联网的流量(我认为情况并非如此......但您仍然可以向大学的IT部门询问),则必须向您的大学询问。无论如何,你想要做的事情是不能实现简单的方式",预计会有很多工作要做这样的工作。如果它是一个大学项目,也许它应该留在大学网络内。