【问题标题】:Make Grails listen on external IP address让 Grails 监听外部 IP 地址
【发布时间】:2011-10-01 04:57:59
【问题描述】:

我启动了一个 Grails 应用程序侦听默认端口 8080,并以 root 身份运行 grails 以侦听端口 80:

#grails -Dserver.port=80 run-app

这在 localhost 上运行良好,但是当我从外部 IP 地址访问它时,它就无法正常工作。可以肯定的是,我在同一台服务器上运行 Apache,我可以通过 Internet 完美地访问它。

我在这里是否缺少一些配置选项来让 Grails 监听所有 IP 地址?

我什至尝试过,但无济于事:

#grails -Dserver.host=0.0.0.0 -Dserver.port=80 run-app

我在 EC2 实例上的 Ubuntu 10.04 上使用 Grails 1.4.0M1。

提前致谢。

寒雪

【问题讨论】:

  • 您是否使用“grails run-app”作为生产服务器?它真的只用于开发。

标签: java grails ubuntu amazon-ec2


【解决方案1】:

如果你真的想用 run-app 运行它,请在命令行中输入你的服务器 IP 地址,如下所示:

#grails -Dserver.host=xx.xx.xx.xx -Dserver.port=80 run-app

但您可能会发现您与运行在同一 IP 上的 Apache 服务器发生冲突。

我认为你应该考虑使用 mod_proxy 和 mod_proxy_apj 来“隐藏”你的 grails 服务器在你的 Apache 服务器后面

【讨论】:

【解决方案2】:

正如 cjstehno 所指出的,在生产环境中,您应该将应用程序作为部署到 AppServer(Tomcat、TCServer 等)的 war 运行,并且理想情况下将其运行在 WebServer (Apache) 之后以路由流量。

见 --> http://grails.org/doc/latest/guide/17.%20Deployment.html

【讨论】:

    【解决方案3】:

    如果您在 ec2 上,请确保防火墙已向世界开放端口 80(或您连接的任何 ip)。这不是默认设置,并且会让许多首次使用 ec2 的用户绊倒。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-22
      • 2014-06-10
      • 2021-11-14
      • 1970-01-01
      • 2010-10-05
      • 2011-06-15
      • 1970-01-01
      相关资源
      最近更新 更多