我有 Godaddy Shared Web Hosting 我需要托管 node.js 网站可以托管网站吗?

新手上路,请多包涵

任何人都有关于如何在 Godaddy 上安装节点服务器的想法或参考。我们有 Godaddy 共享主机,它提供完整的 Cpanel 并希望自定义此共享主机。要遵循的步骤是什么?我们是否可以通过在 Cpanel 设置中进行编辑来自定义这种托管?

我曾尝试托管 Node.js 网站,但无法启动并运行它显示的是纯 HTML 编码的网站,而不是用户界面。

原文由 Bhavik Limani 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 374
1 个回答

是的,这是可能的。不知何故,我从未见过有人真正正确地回答过这个问题。这适用于最基本的共享托管计划。我已经成功地能够以几种不同的方式进行设置。我认为 第二个可能是你想要 的:

1. cgi-node http://www.cgi-node.org/home

基本上这取代了 lamp stack 上的 PHP。您可以像运行 PHP 一样通过节点运行 javascript。它具有与 node 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 二进制文件并将下载的 bin/node(以及 bin/npm 文件,如果你想在服务器上使用 npm)文件放入 /home/username/bin/(如果不存在则创建 bin 文件夹) ) 在服务器上。将权限 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 等东西节省很多钱。

原文由 nebulr 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题