我已经在本地桌面上运行了一些关于node.js的基本教程,并且一切正常。
我一直在尝试运行一个简单的“ Hello World!”。我的“实时”托管环境中的应用程序。这不是一个活跃的网站,只是一些我用来尝试的基本虚拟主机。我的托管服务提供商提供了一个node.js插件,每月额外收取少量费用,而我最近注册了这个插件。
我已经修改了文件(名为app.js)中的代码,以便它引用由我的托管服务提供商提供给我的主机和端口,而不是像以前那样使用localhost。代码如下:
const http = require('http');
const hostname = '195.62.28.216';
const port = xxxx;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
用xxxx代替分配给我的端口。
如果我通过运行节点app.js使用SSH客户端(PuTTY)启动此操作,则会收到以下消息:
Server running at http://195.62.28.216:xxxx/
但是,如果我访问该URL,只会收到超时错误:
无法访问此网站 195.62.28.216花了很长时间才做出回应。
当我使用PuTTY连接到主机时,使用托管服务提供商提供给我的用户名和密码,它默认显示为名为/ home / my_username的文件夹。这是我的“ Hello World”应用文件的位置。
我已经联系了托管服务提供商的支持区域,但是我想在等待答复的同时也将其张贴在这里,以防有人指出我做错了正确的方向。
非常感谢,非常感谢您的协助。
答案 0 :(得分:0)
非常感谢您的快速回复。我认为问题在于我正试图直接从浏览器访问195.62.28.216:xxxx URL,但是我认为它已经设置为只能从实际的Web托管环境访问。
换句话说,我将以下内容添加到我的云托管帐户的.htaccess文件中:
RewriteEngine On
RewriteRule ^ http://195.62.28.216:xxxx/ [P,L]
当我现在访问我的网站时,我得到“ Hello World!”。如预期的那样。现在,我只需要弄清楚如何做到这一点,以便仅当我访问网站上的特定文件夹而不是整个文件夹时才会发生...:-)