node.js - 在 cpanel 托管服务器上运行 node.js

标签 node.js cpanel

这是一个简单的 node.js 代码。

var http = require('http');
http.createServer(function(req, res) {
    res.writeHead(200, { 'Content-Type' : 'text/plain'});
    res.end('Hello World!');
}).listen(8080);

我将它上传到 cpanel 托管服务器并安装了 node.js 并运行它。 如果服务器是普通服务器,我可以通过访问“http://{serverip}:8080”来检查脚本结果。但是在 cpanel 上托管域和子域,并且每个域都与每个站点匹配。即使 http://{serverip} 也不是有效的 url。 如何访问我的 node.js 结果? 请教我。 谢谢。 冰冰。

最佳答案

使用 CPanel 安装/设置 NodeJS

1.使用 SSH 登录您的帐户(如果您的帐户未启用,请联系支持团队)。

<强>2。下载 Node.js

wget https://nodejs.org/dist/latest/node-v10.0.0-linux-arm64.tar.xz

3.提取 Node.js 文件

tar xvf node-v10.0.0-linux-arm64.tar.xz

4.现在将文件夹重命名为“nodejs”。为此,请键入以下命令

mv node-v10.0.0-linux nodejs

5.现在要安装 Node 和 npm 二进制文件,输入以下命令:

mkdir ~/bin <br> cp nodejs/bin/node ~/bin
cd ~/bin
ln -s
../nodejs/lib/node_modules/npm/bin/npm-cli.js npm

6. Node.js 和 npm 已安装在您的帐户中。要验证这一点,请键入以下命令

Node --版本 npm --version

~/bin 目录默认在你的路径中,这意味着你可以从你账户中的任何目录运行 node 和 npm。

7.启动 Node.js 应用程序

nohup node my_app.js &

8.停止应用程序

pkill node

9.将 Node.js 应用程序与 Web 服务器集成(可选)

根据您正在运行的 Node.js 应用程序的类型,您可能希望能够使用 Web 浏览器访问它。为此,您需要为 Node.js 应用程序选择一个未使用的端口来监听,然后定义将访问者重定向到应用程序的服务器重写规则。

在文本编辑器中,将以下行添加到/home/username/public_html 目录中的 .htaccess 文件中,其中 username 代表您的帐户用户名:

RewriteEngine On
RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]

在两个 RewriteRule 行中,将 XXXXX 替换为您的 Node.js 应用程序监听的端口。 要在托管服务器上运行 Node.js 应用程序,您必须选择一个未使用的端口,并且端口号必须介于 49152 和 65535(含)之间。 将更改保存到 .htaccess 文件,然后退出文本编辑器。您网站的访问者将被重定向到监听指定端口的 Node.js 应用程序。

如果您的应用程序无法启动,您选择的端口可能已经在使用中。检查应用程序日志中的错误代码,例如 EADDRINUSE,指示端口正在使用中。如果是,请选择其他端口号,更新应用程序的配置和 .htaccess 文件,然后重试。

关于node.js - 在 cpanel 托管服务器上运行 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44079039/

相关文章:

php - 在 Bluehost CPanel 中使用脚本创建电子邮件帐户

node.js - Node JS : net. Socket 不是构造函数

node.js - Visual Studio 2013/2015 - Node 包构建错误 (gulp_util)

javascript - Webpack postcss-loader 在传递函数时不工作

linux - 如何通过ftp在远程之间传输文件?

git克隆问题[套接字: Address family not supported by protocol ]

php - 如何在 cpanel 中设置 cron 作业

node.js - Node-Foreman 在部署到 Heroku 时不加载环境变量

node.js - 在我的 create-react-app 应用程序上运行 electro-build 会出现错误?

用于在 CPanel 中编辑 DNS 记录的 PHP 脚本