【问题标题】:Amazon EC2 server TCP Socket ConnectionAmazon EC2 服务器 TCP 套接字连接
【发布时间】:2012-06-13 15:46:21
【问题描述】:

我使用 Eclipse 开发了一个 Java 服务器,它接受来自 android 客户端的 TCP 套接字连接,执行一些计算,并使用这个套接字将结果返回给 android 手机。我在 Wi-Fi 上试过了。

我现在想将 Java 服务器迁移到云端 - 基本上是亚马逊 EC2。这可能吗?我只是使用一个简单的 tcp 套接字连接。我已经检查过,但找不到示例,但遇到了“弹性豆茎”。任何帮助表示赞赏,可能是带有此类示例的链接或教程。

我可以将我的 java 项目转换为 .war 并使用它,或者我可以在云上安装 eclipse 并像在本地一样运行它吗?

【问题讨论】:

    标签: java networking network-programming amazon-ec2


    【解决方案1】:

    这绝对是可能的。而且您不必将您的项目转换为 .war,除非您愿意。 您所要做的就是:

    • 选择您要使用的 Amazon 映像 (AMI) - Amazon Linux 是一个不错的起点,但还有很多其他选项,包括 Ubuntu 和 Windows。

    • 设置安全组 - 您需要为服务器的端口号设置传入规则。从 Amazon 基于 Web 的控制台很容易做到这一点。

    • 启动计算机并将其分配给您创建的安全组。同样,这可以通过亚马逊网络控制台轻松完成。

    机器启动后,登录(Linux 使用 ssh 或 Windows 使用远程桌面)并安装您的服务器。

    需要记住的几点:

    • 由于您现在在公共服务器上运行,您的服务器迟早会受到攻击。每个人都会受到攻击。如果您只打开单个应用程序端口,请确保它是安全的。

    • Amazon 服务器具有私有和公共 IP。您的客户端应用程序将连接到公共 IP。

    • 服务器可能会出现故障,新服务器会获得新的公共 IP!你需要为此做好准备。要么使客户端中的 IP 可配置,要么查看 Amazon Elastic IP 或动态 DNS 之类的东西。

    【讨论】:

    • 谢谢巴拉克。我已经完成了这项工作并将我的服务器转换为 .jar 文件。我在问我是否可以在服务器上下载eclipse,但没有必要。我正在本地开发它并转换为 .jar 文件。在客户端,我更改为公共 IP 地址。所以我希望我们的回复能帮助像我这样的新人。
    • 谢谢,只是忘了打开我的端口。