Aws ec2实例上的Spring启动

时间:2016-07-11 15:39:31

标签: java spring amazon-ec2 spring-boot

Spring boot demo app尝试使用localhost并成功运行该应用程序。我甚至安装了

  

gradle,jdk和其他依赖项

很容易在aws实例上。即使我成功运行了import scrapy import json from whois.items import WhoisItem class whoislistSpider(scrapy.Spider): name = "whois_list" start_urls = [] f = open('test.txt', 'r') global lines lines = f.read().splitlines() f.close() def __init__(self): for line in lines: self.start_urls.append('http://www.example.com/api/domain/check/%s/com' % line) def parse(self, response): for line in lines: jsonresponse = json.loads(response.body_as_unicode()) item = WhoisItem() domain_name = list(jsonresponse['domains'].keys())[0] item["avail"] = jsonresponse["domains"][domain_name]["avail"] item["domain"] = domain_name yield item 示例应用程序。

喜欢http:// localhost:8080 aws instane根据我的路径http://myip:8080工作。

让我知道我到底做错了什么,并确保我添加了自定义tcp规则,如8080.

2 个答案:

答案 0 :(得分:1)

除了添加自定义tcp规则8080之外,请尝试将以下规则添加到您的安全组中。

类型:自定义ICMP规则
协议:回应请求
港口范围:N / A
资料来源:0.0.0.0/0

然后尝试ping YourIP,以查看您的EC2机器是否可以通过互联网访问。如果您的EC2 ip是可ping的,那么我猜你无法访问http://myip:8080的原因是你的弹簧启动无法在EC2中启动。

你可以ssh into your ec2调查你的罐子。我不知道任何聪明的方法,但我的方法是:
ssh进入ec2机器后,

  1. ps -A -F查找您的jar名称。就我而言,我可以找到java -jar application.jar
  2. sudo find / -name application.jar找到您的jar路径。就我而言,我可以找到/var/app/current/application.jar
  3. 然后您可以cd /var/app/current/java -jar application.jar。如果幸运的话,你可以从春季启动日志中找到一些提示。

答案 1 :(得分:0)

为了使这个调用工作有一些先决条件。我将尝试制作一个简短的列表,根据环境可能会出现其他情况。

  1. 确保公共IP地址与您知道的IP地址相同。每次重启后都会更改。如果您不想要此行为,则可以使用弹性IP
  2. 可以从Internet访问8080端口。以下是确保这种情况的一些步骤:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html