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

时间:2016-10-20 05:23:47

标签: node.js server hosting

任何人都想知道如何在Godaddy上安装节点服务器的站点或参考。

6 个答案:

答案 0 :(得分:9)

是的,这是可能的。不知怎的,我从来没有见过任何人真正正确回答这个问题。这适用于最基本的共享主机方案。我已经成功地设置了几种不同的方式。我认为可能是你想要的

<强> 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等。

答案 1 :(得分:4)

是的,即使在最便宜的共享托管层上也可以实现。 @nebulr指示正确。这是针对像我这样的菜鸟的稍作更新和扩展的版本。

(1)在共享主机帐户上启用SSH:

登录到GoDaddy托管并打开SSH Access(在仪表板上,它位于右下角的“设置”中)。记下cPanel登录用户名,如果忘记了密码,请更改密码。 请注意,您可能还需要在CPanel中的“安全性”和“ SSH访问”下创建密钥。

(2)本身安装nodejs程序:

https://nodejs.org/en/download/下载Node.js二进制文件具体来说,您需要Linux x64版本(直接链接https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz

在您的计算机上解压缩此.tar文件,并在内部查找bin文件夹(在Mac上,您可能需要The Unarchiver之类的程序来解压缩该文件)。 bin文件夹中将有一个名为“ node”的文件,大约40Mb。这个“节点”文件是我们将在此程序包中唯一使用的文件。

使用CPanel文件管理器或FTP程序,在/home/yourUserName/中的服务器上创建一个名为“ bin”的文件夹,并为其赋予755权限。请注意,这不是在public_html内。

将“节点”文件上传到/home/yourusername/bin/

(3)创建一个简单的nodejs脚本:

打开文本编辑器(如Sublime)并创建一个名为“ 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}/');
});

请注意,这只是https://nodejs.org/en/docs/guides/getting-started-guide/

中的基本服务器应用

打开CPanel文件管理器或FTP程序,然后将app.js文件上传到/home/yourusername/public_html/

(4)修改.htaccess文件:

使用FTP程序将以下行添加到.htaccess文件中:

RewriteEngine on
RewriteRule (.*) http://localhost:3000/$1 [P,L]
请注意,.htaccess文件默认情况下可能为空白。另外请注意,如果您勇敢或1337,可以在SSH中使用nano,vim或emacs编辑.htaccess文件。


(5)启动节点服务器:

,通过打开Putty(Windows)或Terminal(Mac)并在命令行中输入以下命令,以SSH方式登录Godaddy服务器:ssh username@website.com(其中用户名是您的托管帐户的cPanel登录名) 服务器应以username@website.com's password:响应,这是您输入cPanel登录密码的位置。

注意:如果这是您第一次SSH连接到服务器,则会收到一条消息:The authenticity of host 'X.X.X.X' can't be established. RSA key fingerprint is XXXX. Are you sure you want to continue connecting (yes/no)?键入yes,然后继续。

通过输入/home/yourUserName/public_html/导航到cd public_html。通过键入以下内容来启动节点服务器脚本:node app.js & 几秒钟后,您应该会看到以下消息:Server running at http://127.0.0.1:3000/

(6)签出:

打开网络浏览器,然后输入网站的URL。您应该得到一个白页,上面有文本NodeJS server running on Shared Hosting或您在上面app.js的第9行中输入的任何消息。 请注意,您不能使用共享主机帐户上的IP地址,而需要使用域名。

答案 2 :(得分:2)

另一种方法是通过NVM。首先使用SSH连接到服务器。然后有一个curl命令,允许您通过bash脚本安装NVM:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

对我来说,还需要执行两个附加步骤:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

来源:

答案 3 :(得分:1)

您有两种选择来托管节点应用。 - 从godaddy或digitalocean等购买自己的VPS服务器。 - Godaddy本身提供运行其节点实例的选项。请参阅https://in.godaddy.com/pro/one-click-installation/node-js

答案 4 :(得分:1)

正如@nebuir所说,可以使用GoDaddy的共享主机选项运行你的node.js开发的应用程序,因为我刚刚做到了。 .htaccess部分是实现这项工作的关键。我需要添加的唯一其他行是

RewriteRule ^index.html.var$ http://www.yoursite.com:3000/$1 [L,P,QSA]

RewriteRule  (.*)  http://www.yoursite.com:3000/$1  [P,L]

答案 5 :(得分:1)

我通过以下方式在多个域的Godaddy共享托管服务器上安装了节点:

  1. SSH到Godaddy服务器

  2. 在主文件夹中安装nvm

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash  
    
  3. nvm install 10.14.0 (或首选节点版本) 注意:如果在执行$nvm --version时未找到nvm命令,请关闭并重新启动SSH终端

  4. 在要运行节点应用程序的站点的文件夹中,添加.httaccess文件

    ~/public_html/site folder/.htaccess
    

    RewriteEngine on

    RewriteRule (.*) http://localhost:3000/$1 [P,L]
    

注意:.htaccess可用于定位各个文件夹,并且更改无需更改服务器即可立即生效。

  1. 按照@nebulr指示在站点文件夹中运行app.js或节点服务器

    $node app.js &