无法使用Godaddy共享托管URL访问Node.js Web服务器

时间:2019-01-17 16:47:33

标签: javascript node.js shared-hosting

在浏览器中输入class InstallLibs(install): def run(self): super(InstallLibs, self).run() do_stuff def setup_package(): setup( use_pyscaffold=True, include_dirs=["src/my_module/include"], cmdclass={"install": InstallLibs}, ) if __name__ == "__main__": setup_package() 时,出现此错误(其中“ example”是我的域名)

www.example.com:3000

我已经做了这些事情:

  1. 在GoDaddy共享帐户上安装了node.js
  2. 创建了一个文件夹../ public_html / testsite
  3. 在该文件夹中放置了两个文件:app.js和.htaccess。
  4. 使用以下节点启动Web服务器:节点app.js
  5. 转到浏览器并输入我的域的URL和端口:
  6. 收到上面的错误消息

这个post很有帮助,但是我仍然无法启动我的设置。

这两个文件位于This site can't be reached - www.example.com took too long to respond.

../public_html/testsite/

注意:.htaccess RewriteEngine on RewriteRule ^index.html.var$ http://www.example.com:3000/$1 [L,P,QSA] RewriteRule (.*) http://www.example.com:3000/$1 [P,L] 是您在此处访问时通常加载的文件

app.js:

index.html

要启动Web服务器:

const http = require('http');

const hostname= '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('NodeJS server running on Shared Hosting\n');
});

server.listen(port, hostname, () => {
  console.log('Server running at http://' + hostname + ':' + port + '/');
});

在浏览器中,输入:

> cd ../public_html/testsite
> node app.js
Server running at http://127.0.0.1:3000

我希望可以在浏览器中看到

www.example.com:3000

问题:

  1. 我应该在NodeJS server running on Shared Hosting 中使用我自己的godaddy域名地址作为主机名还是应该是localhost?
  2. 是否打算将.htaccess(在浏览器中)重定向到www.example.com:3000(在GoDaddy服务器上)?
  3. 我尝试了各种排列方式(使用我的IP地址或域名,不同的端口号等)
  4. 我想我很亲近,但是需要一些想法才能尝试!

1 个答案:

答案 0 :(得分:0)

端口3000、8080等通常用于开发目的,因为在开发中,具有多个同时运行的服务器可能很有用,例如,一个在端口3000上运行,一个在端口3001上运行,等等。< / p>

但是,在Internet上,HTTP在端口80上提供服务,HTTPS在端口443上提供。因此,基本上,在您的服务器实现中,您应该动态设置端口:无论您是在生产中还是在开发中,都一样!

我个人使用以下事实:在生产环境(即,对于您,GoDaddy的部署计算机)上,环境变量<html> <body> <p rollno="392"> <someValue>365 days</someValue> </p> </body> </html> 已设置为80,而在我的本地计算机上,我没有设置它,因此我可以这样写:

PORT

然后我通过以下URL访问服务器:

const express = require('express');
const port = process.env.PORT || 3000; // 3000 on my machine, 80 on GoDaddy's server
const app = express();
app.listen(port, () => console.log(`App listening on port ${port}`));

最后两个相同,因为如前所述,默认HTTP端口为80。