主机node.js在线投影

时间:2014-07-02 08:58:00

标签: javascript node.js sockets express pug

我有一个小node.js和socket.io项目,我想在我的服务器上在线运行。我使用jade作为我的文件,并使用npm install将其打包完成。所以一切都在我的本地文件夹中。我也可以在本地运行它。

但我想连接手机来控制浏览器,我无法将手机连接到本地主机。所以我需要在线运行它。

问题是,当我把它放在网上时,我有一个index.jade文件。这个没有被浏览器识别为网页。所以当我去http://www.woutervdkamp.nl/iphoneconnect/views

时,我只会得到一个禁止的页面

我的文件夹结构如下:

└── httpdocs
   ├── iphoneconnect
   |  ├── node-modules
   |  ├── express
   |  ├── jade
   |  └── socket.io
   ├── package.json
   ├── server.js
   └── views
      ├── index.jade
      └── mobile.jade

我需要使用特殊主机吗?或者有人能指出我正确的方向!提前谢谢。

我试图做这样的事情: http://sportyfinger.lecoqsportif.com/uk-en/connexion

如果有人得到一个很好的教程,那就太好了!我只想知道如何建立iphone和webbrowser之间的连接!已经有了一些东西,但它有点慢。

映入眼帘,

的Wouter

2 个答案:

答案 0 :(得分:6)

首先,你可能迷失了解正在发生的事情。

您当前的方法是使用Apache将node.js项目作为静态站点提供。

这不会起作用,你的node.js项目包含指令,要解析这些指令,你需要一个程序。该程序称为 node.js ,而不是Apache或其他任何东西。


您会发现大多数虚拟主机公司都不支持node.js。解决方案是找到一个特定的node.js托管服务或虚拟/云托管。

适用于托管公司1的任务适用于:Heroku,OpenShift,Digital Ocean。

选择之后,您必须使用提供的彩色指南设置简单的Linux服务器,然后在运行项目之前安装node.js程序。

准备好Linux之后,必须在那里安装node.js并以与在localhost上相同的方式运行项目。

总结我所说的一切:

  1. 使用node.js或shell访问权限查找托管公司。
  2. 通过托管公司工具设置linux OS(我建议 Ubuntu )。 (比听起来更容易,不用担心)
  3. 运行以下命令在新的linux服务器上获取node.js:

    sudo add-apt-repository ppa:chris-lea/node.js

    sudo apt-get update

    sudo apt-get install python-software-properties python g++ make nodejs

  4. 将项目文件复制到服务器

  5. 导航到服务器上的项目位置并像在localhost上一样运行它:node.js server.js
  6. 1 - Comparison of Hosting companies by @Vinz243

答案 1 :(得分:1)

我最近也在做一些简单的node.js网络应用程序,我认为Heroku是一个非常友好的新开发者托管网站。

对于在heroku上托管,您不需要运行复杂的bash命令。 heroku建议的方法是将一个名为heroku的工具安装到终端,但这不是必需的。只需将一个遥控器添加到heroku存储库(您可以在其网站上创建)并将源代码推送到该远程存储库,您可以从命令行中看到heroku将自动检测,编译和托管node.js Web应用程序你。

git push heroku master

顺便说一下,Heroku还有数据库和日志记录加载项。

供您参考:

https://devcenter.heroku.com/articles/getting-started-with-nodejs