【问题标题】:How to deploy my Dynamic web project on internet如何在 Internet 上部署我的动态 Web 项目
【发布时间】:2017-04-02 23:55:53
【问题描述】:

我正在完成我最后一年的项目,我使用 eclipse JEE、tomcat 8.5 和 Axis 2 在一个动态 Web 项目中创建了一个 Web 服务(所有这些都在 Ubuntu 16 中运行)。这个 Web 服务调用了一些安装在计算机上的程序(例如 Matlab),所以我需要这台计算机来托管 Web 服务。此 Web 服务在本地主机中运行良好(我创建了一个客户端来检查它)现在我需要执行下一步。如何在 Internet 上部署此 Web 服务? (没有本地主机),有任何教程或文档可以做这样的事情吗?我工作的计算机是我大学的,所以它连接到大学网络。

我已经读到我需要一个 WAR 文件,我知道如果我右键单击我的项目并选择导出它显示“WAR 文件”,那么这场战争将包含我添加的所有引用和 .jar 吗? (我很害怕,因为我需要向它们添加一些 .jar 和一些本地库位置)另外我知道我需要一个 Statc IP 而不是动态 IP。如果我无法访问大学路由器,我该如何实现?

感谢您的帮助。

【问题讨论】:

  • 你需要一个主机/服务器也启动并运行 tomcat
  • 什么意思?计算机应该是服务器主机?它已安装所需的程序。
  • 我想您需要从像 GoDaddy 这样的网络托管服务提供商那里购买网络服务器?或者您可以注册 (heroku.com) heroku 并获得一个免费的 java clod 平台来测试您的应用程序。
  • 除非你打算将你的工作计算机暴露在互联网上,我不会这样做,否则你需要一个服务器来部署你的战争并使用 matlab
  • 如果它只是为了一个学校项目(也就是你不打算永远放弃它)你可以打开所需的端口并从你的开发计算机上运行服务器。

标签: java eclipse tomcat publish


【解决方案1】:

如果您想要自己的域名,那么您必须购买一个域名才能上网。有像GoDaddyBigRock 这样的网站提供域名。

如果你是为了测试或演示目的,你可以使用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

【讨论】:

  • 嗨,你用过这个吗?如果我有 2 个不同的项目(动态 Web 项目),每个项目用于不同的应用程序,如果我将 NGROK 工具提供的域配置到我的本地主机,并且我在其中一个项目中选择“在服务器上运行”选项(在这种情况下为本地主机) ) url 将“Host” 那个项目?然后如果我决定“在服务器上运行”另一个项目,那么 URL 将托管新项目吗?就这么简单?
  • 是的..它很简单..它只是将互联网网址映射到您指定的本地主机和端口。我在个人和专业层面都使用过它。效果很好。
【解决方案2】:

正如您所说,您需要在 Internet 上使用“计算机来托管 Web 服务”,因为您也有使用特定库的限制,因此您不能使用像 heroku 这样的“准备托管”(paas)解决方案因为您无法访问/控制托管您的 web 应用程序的计算机。我知道要处理的唯一解决方案是 VPS 托管(https://www.ovh.com/us/vps/),您可以“租用”一台远程计算机(如果需要,可以使用 ubuntu 16)并完全控制它,例如,您可以安装任何本地库想要在它上面,也可以像在本地计算机上一样使用任何 servlet 容器/Web 服务器。

但是您的网络服务将位于大学网络“外部”的互联网上,如果您需要访问一些只能从大学网络访问的数据/服务,除非您有特殊的(和安全)访问以通过VPN 连接大学网络,但您必须询问大学网络中是否存在允许来自互联网的流量(我认为不是这种情况......但你仍然可以向大学的IT部门询问)。无论如何,您想要做的事情无法通过“简单的方式”实现,很多工作预计会有这样的工作。如果是大学项目,也许应该留在大学网络内。

【讨论】:

  • 网络服务是否用于大学以外的人都没关系,所以VPS托管是正确的答案吗?他们会安装所需的软件吗?以 Matlab 为例?
  • 不幸的是,您必须使用此解决方案自行安装所需的一切,就像您可能在本地计算机上所做的那样才能使其正常工作。使用此 VPS 解决方案,您只有一个空系统(您可以选择 Ubuntu/fedora/windows...),但其余配置取决于您的需求...
  • 好的,我明白你在说什么,但我想说的是,我需要每个人都可以看到网络服务,而不仅仅是大学里的人,而且对我们来说,计算机并不重要,我的意思是我们不关心上面的信息,如果它被损坏也没关系。那么有没有办法在那台计算机上发布服务器?我认为需要将网络服务 url 与计算机或类似的东西连接起来
  • 你对 Ambers 的回答有何看法
  • 是的“有一种方法可以在该计算机上发布服务器”,并且一旦您可以访问它就将服务器安装在 VPS 上,因为您将收到来自 vps 托管的电子邮件公司拥有 VPS 的 IP 地址和对其的 SSH 访问(通过 bash 等命令行工具连接远程 Linux 系统的标准协议)。此时您可以选择通过命令行/SSH 安装您需要的服务器,或者您最终可以选择在远程机器上安装桌面环境并通过例如 x2Go 服务器访问它(您必须自己安装)
猜你喜欢
  • 1970-01-01
  • 2013-04-06
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
相关资源
最近更新 更多