这是一个简单的 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/