如何在 Internet 上部署我的动态 Web 项目
How to deploy my Dynamic web project on internet
我正在做最后一年的项目,我使用 eclipse JEE、tomcat 8.5 和 Axis 2 在动态 Web 项目中创建了一个 Web 服务(所有这些都是 运行 在 Ubuntu 16).此 Web 服务调用安装在计算机上的一些程序(例如 Matlab),因此我需要这台计算机来托管 Web 服务。此 Web 服务在本地主机中运行良好(我创建了一个客户端来检查它)现在我需要执行下一步。如何在 Internet 上部署此 Web 服务? (没有本地主机),有任何教程或文档可以做这样的事情吗?我工作的计算机是我大学的,所以它连接到大学网络。
我读到我需要一个 WAR 文件,我知道如果我右键单击我的项目并且 select 导出它显示 "WAR file",这个 war会有我添加的所有引用和 .jar 吗? (我害怕这一点,因为我需要向它们添加一些 .jar 和一些本机库位置)而且我知道我需要一个 Statc IP 而不是动态 IP。如果我无法访问大学路由器,我该如何实现?
感谢您的帮助。
正如您所说,您需要一个 "computer to host the Web Service" 互联网,因为您也有使用特定库的限制,因此您不能使用 "ready-to-host"(paas) 解决方案,如 heroku because you wouldn't have access/control to the computer hosting your webapp. The only solution I know to deal with that is VPS hosting (https://www.ovh.com/us/vps/)有了它,你可以 "rent" 一台远程计算机(如果你愿意,可以使用 ubuntu 16)并对其进行完全控制,例如你可以在其上安装任何你想要的本机库,以及任何 servlet container/web 你想要的服务器就像你在本地计算机上一样。
但是你的网络服务将在互联网上,即"outside"大学网络,如果你需要访问一些只能从大学网络访问的data/services,你不能使用这个解决方案,除非例如,您有一个特殊的(安全的)访问权限可以通过 VPN 连接大学网络,但是您必须向您的大学询问大学网络中是否存在允许来自互联网的流量(我想是不是这样……但你仍然可以向大学的 IT 部门询问)。无论如何,你想做的事情无法实现"easy-way",很多工作都预见到有这样的工作。如果是大学项目,也许它应该留在大学网络内。
如果您想要自己的域,那么如果您想上网,就必须购买一个域。像 GoDaddy or BigRock 这样的网站提供域名。
如果您这样做是为了测试或演示目的,您可以使用 NGROK 工具。此工具将在 Internet 上提供一个域(类似于 http://.ngrok.io),该域将映射到您的本地主机。如果您使用的是付费版本,则可以自定义域名。
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
我正在做最后一年的项目,我使用 eclipse JEE、tomcat 8.5 和 Axis 2 在动态 Web 项目中创建了一个 Web 服务(所有这些都是 运行 在 Ubuntu 16).此 Web 服务调用安装在计算机上的一些程序(例如 Matlab),因此我需要这台计算机来托管 Web 服务。此 Web 服务在本地主机中运行良好(我创建了一个客户端来检查它)现在我需要执行下一步。如何在 Internet 上部署此 Web 服务? (没有本地主机),有任何教程或文档可以做这样的事情吗?我工作的计算机是我大学的,所以它连接到大学网络。
我读到我需要一个 WAR 文件,我知道如果我右键单击我的项目并且 select 导出它显示 "WAR file",这个 war会有我添加的所有引用和 .jar 吗? (我害怕这一点,因为我需要向它们添加一些 .jar 和一些本机库位置)而且我知道我需要一个 Statc IP 而不是动态 IP。如果我无法访问大学路由器,我该如何实现?
感谢您的帮助。
正如您所说,您需要一个 "computer to host the Web Service" 互联网,因为您也有使用特定库的限制,因此您不能使用 "ready-to-host"(paas) 解决方案,如 heroku because you wouldn't have access/control to the computer hosting your webapp. The only solution I know to deal with that is VPS hosting (https://www.ovh.com/us/vps/)有了它,你可以 "rent" 一台远程计算机(如果你愿意,可以使用 ubuntu 16)并对其进行完全控制,例如你可以在其上安装任何你想要的本机库,以及任何 servlet container/web 你想要的服务器就像你在本地计算机上一样。
但是你的网络服务将在互联网上,即"outside"大学网络,如果你需要访问一些只能从大学网络访问的data/services,你不能使用这个解决方案,除非例如,您有一个特殊的(安全的)访问权限可以通过 VPN 连接大学网络,但是您必须向您的大学询问大学网络中是否存在允许来自互联网的流量(我想是不是这样……但你仍然可以向大学的 IT 部门询问)。无论如何,你想做的事情无法实现"easy-way",很多工作都预见到有这样的工作。如果是大学项目,也许它应该留在大学网络内。
如果您想要自己的域,那么如果您想上网,就必须购买一个域。像 GoDaddy or BigRock 这样的网站提供域名。
如果您这样做是为了测试或演示目的,您可以使用 NGROK 工具。此工具将在 Internet 上提供一个域(类似于 http://.ngrok.io),该域将映射到您的本地主机。如果您使用的是付费版本,则可以自定义域名。
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