我有一个小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
答案 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上相同的方式运行项目。
总结我所说的一切:
运行以下命令在新的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
将项目文件复制到服务器
node.js server.js
答案 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