我是Node JS的新手,我能够在我的本地Windows机器上安装和设置节点js,还有一个简单的http服务器返回" hello world"通过互联网阅读文本 - (blogged about it here)。
现在我想在我的linux主机上设置和安装节点,并在那里设置一个hello world页面。
我不知道该如何解决这个问题。 cPanel中是否有允许这样做的功能?
请建议。
P.S我使用共享主机。
答案 0 :(得分:0)
如果您具有root权限的ssh访问权限,则可以执行此操作。请参阅以下链接:
http://outofcontrol.ca/blog/comments/installing-node-bower-and-gulp-on-a-cpanel-box
答案 1 :(得分:0)
您不需要root权限即可执行此操作。我已经成功地设置了几种不同的方式。我认为可能是你想要的:
<强> 1。 cgi-node http://www.cgi-node.org/home
基本上这取代了灯堆上的PHP。您可以像运行PHP一样通过节点运行javascript。它具有节点js的所有相同功能,但仅适用于模板渲染。
<html>
<body>
<?
var helloWorld = 'Hello World!';
write(helloWorld + '<br/>');
?>
<?= helloWorld ?>
<br/>
<b>I can count to 10: </b>
<?
for (var index= 0; index <= 10; index++) write(index + ' ');
?>
<br/>
<b>Or even this: </b>
<?
for (var index= 0; index <= 10; index++) {
?>
<?= index ?>
<? } ?>
</body>
</html>
或强>
<强> 2。独立服务器(这适用于NameCheap托管和GoDaddy共享托管)
在您的共享主机帐户中,您需要SSH才能执行此操作。因此,您可能需要从其客户支持升级或请求SSH访问。下载最新的NodeJS https://nodejs.org/en/download/。共享主机可能在linux 64位。您可以通过运行:
在linux或unix上进行检查uname -a
下载Linux二进制文件,然后将/ home / username / bin /中的bin / node(以及bin / npm文件,如果你想在服务器上使用npm文件)文件放入(如果没有,则创建bin文件夹) #39; t存在)在服务器上。将权限755放在节点二进制文件上。所以你应该在这里有一个新文件:
/home/username/bin/node
在/ home / username / public_html中打开.htaccess文件并添加以下行:
RewriteEngine on
RewriteRule (.*) http://localhost:3000/$1 [P,L]
在/ home / username / public_html中创建一个文件,然后将其命名为app.js.在该文件中添加以下行:
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}/`);
});
SSH进入服务器运行以下命令:
cd /home/username/public_html
which node # this should return ~/bin/node
node app.js & # This will create a background process with the server running
如果你可以正确设置,从长远来看这将节省大量资金,而不是使用AWS或Heroku等。