【问题标题】:Node.JS on GoDaddy cpanel not workingGoDaddy cpanel 上的 Node.JS 无法正常工作
【发布时间】:2018-05-02 04:27:56
【问题描述】:

我一直在尝试在我的网站中实现 node.js。我一直在做教程所说的。我在本地开发中成功地做到了。但是当我远程实现它时,它不起作用。

这是我在 cpanel 上的代码:

app.js:

var http = require('http');
var server = http.createServer(function(req, res) {
    if(req.url === '/'){
        res.setHeader('Content-Type','text/html');
        res.end('<strong>Sample text</strong>');
   }
});

server.listen(8080, function () {
    console.log('Listening to port 8080');
});

当我运行命令时

node app.js

在 Putty 中,它可以工作。显示控制台日志“正在监听 8080 端口”。

但是当我转到 mydomain.com:8080 时,什么也没有出现。它说无法访问该站点。

现在发生这种情况有什么原因吗?提前致谢!

【问题讨论】:

  • 这不是使用 DNS 配置端口的方法,您的 DNS 服务器运行在哪个端口上仅配置该端口,主要使用端口 80。
  • 我尝试将监听端口更改为80。但是在打开节点时会在cli中引发错误。错误:听 EACCES 0.0.0.0:80
  • 您必须创建代理或虚拟服务器实例,您可以在此处查看我的答案 [stackoverflow.com/questions/49946381/…

标签: node.js port


【解决方案1】:

转到 cpanel 中的文件管理器 >(您的域)> public_html > .htaccess

编辑为:

RewriteEngine on
RewriteRule (.*) http://localhost:4100/$1 [P,L]

如果使用 https

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
DirectoryIndex disabled
RewriteCond %{HTTPS} on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f
# Add APIs here <--
RewriteRule (.*) http://localhost:4100/$1 [P,L]

如果你有 php API 并想完全重定向到它,只需在最后一行之前添加这一行

RewriteRule ^api/info.php$ - [L,NC,R=301]

确保这里的端口是 4100,在你的情况下将其更改为 8080

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-22
    • 2018-12-21
    • 2020-08-01
    • 1970-01-01
    • 2012-10-13
    • 2022-06-17
    • 2019-08-04
    • 1970-01-01
    相关资源
    最近更新 更多