我设法登录到 ubuntu 并进行了一些安装和 ftp 一些图像文件(只是为了测试网络是否正常工作)。如何从浏览器使用公共 IP 或弹性 IP 查看它?我还不想传输 DNS,因为我现在正在测试 Node.js。
4 回答
在 EC2 上启动 ubuntu 实例不会自动使其成为服务器。您需要实际运行一个网络服务器才能在您的浏览器上查看来自该计算机的文件。
对于静态文件,您可以使用简单的 Web 服务器,例如python 的 SimpleHTTPServer或webfsd。
如果您打算使用 node.js,您可能更喜欢在 node.js 中编写一个小的Hello World:
// Load the http module to create an http server.
var http = require('http');
// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
});
// Listen on port 8000, IP defaults to 127.0.0.1
server.listen(8000);
// Put a friendly message on the terminal
console.log("Server running at http://127.0.0.1:8000/");
我猜这与 NodeJS 服务器定义有关
示例中给出的默认 server.listen
server.listen(1337, "127.0.0.1");
NodeJS 只会监听来自 127.0.0.1 的连接。
要让它响应所有请求,请尝试以下设置,主机部分是可选的)
server.listen(1337);
默认情况下,EC2 实例不是 Web 服务器。
sudo apt-get 安装 httpd
应该做的伎俩。然后,您需要通过以下方式启动服务器:
sudo service httpd start
然后我将通过使用命令在以下位置创建 index.html 来测试工作。
sudo vim /var/www/html index.html
默认安全组设置不允许入站流量。如果您使用 AWS EC2 实例控制台访问 AWS EC2 控制台 并编辑安全组。允许所有 IP 使用 HTTP。
现在,如果您转到 {https://YOUR-PUBLIC-IP-ADDRESS/},它应该会显示 index.html 的 html 内容。可以在类似的注释上添加图像。
您需要在 EC2 实例正在使用的安全组上允许运行 node.js 的端口。然后您可以访问您的网站http://<public ip of your server>:<port where node.js is running on>