【问题标题】:Check does shared hosting allow nodejs检查共享主机是否允许 nodejs
【发布时间】:2017-02-14 05:22:17
【问题描述】:

我开始学习 nodeJs 我在 localhost 上做了一些事情。我正在寻找如何在共享托管服务器上进行设置。我发现许多主机服务器仅用于 php 并且它们不允许节点?还是我没看明白?现在我的问题是如何检查我的托管服务是否允许安装 nodeJs?

【问题讨论】:

  • 您理解正确。您只需要搜索 nodejs 托管。看看这里github.com/nodejs/node-v0.x-archive/wiki/Node-Hosting 不知道它是多么最新
  • “如何检查我的托管服务是否允许安装 nodeJs?” 看看您的托管服务的描述?
  • 它并没有说很多基础知识。我联系了他们,但还没有...

标签: javascript node.js


【解决方案1】:

老实说,如果您尝试进行任何超出非常基本 Web 应用程序范围的开发,我会放弃共享托管。现在,我假设当您说“共享托管”时,您的意思是诸如 godaddy 的基本网络托管包等,这很可能不允许使用 Node,因为您需要能够登录服务器并安装和配置节点等,它们不允许这样做,因为它们使用简单的 GUI / Cpanel 类型的环境让您非常“封装”。

因此,最好的办法是诚实地询问您的共享托管服务提供商是否允许您通过 ssh 进入服务器并安装/配置软件,或者为什么不启动一个小型服务器并使用其中一个在其中使用节点主要服务器提供商,例如 AWSLinodeDigital Ocean。虽然这在技术上仍然是共享托管,但对于这些提供商来说,您是必不可少的,因为您可以“完全控制”您的实例,以便您可以安装和配置您喜欢的任何软件。

有大量教程可以指导您设置小型 linux 实例并在这些提供程序上安装节点:

https://aws.amazon.com/sdk-for-node-js/

https://www.linode.com/docs/websites/nodejs/a-nodejs-installation-crash-course

https://www.digitalocean.com/community/tags/node-js?type=tutorials

祝你好运!

【讨论】:

  • 我知道数字海洋,我看到了如何安装它,我只是想用一些共享主机来完成它。
  • 明白。希望他们尽快回复您?
  • 我还在等什么。还有一些个人问题,我将为此发表另一篇文章,因为我想为我和我的朋友制作一些社交网站,所以由于节点或其他原因而支付自己的服务器费用会更好。我们不喜欢脸书。假的人太多了。那么是整个服务器更好还是某个主机更好?从一开始就有大约 10 000 人。数据库可以包含多少内容。对于 MariaDB,它与需要安装的节点相同...所以我也想知道...
【解决方案2】:

实际上你可以做到这一点。我已经成功地设置了几种不同的方式。我认为第二个可能是你想要的

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

基本上这取代了灯栈上的 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 等。

【讨论】:

    猜你喜欢
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    相关资源
    最近更新 更多