在共享主机上部署nodejs文件
- 在PHP中,我曾经将文件放在public_html文件夹中。我为nodejs做了同样的事情,并使用“forever start app.js”启动了我的应用程序。路由器按预期工作,但我能够在浏览器中看到我的nodejs源代码,例如.js展示了app.js的源代码。
- 在一些教程中,他们将文件放在/ var / www / html /中并启动了应用程序。 public_html和/ var / www / html有什么区别?
- 我正在使用共享主机,所以我没有权限将文件放在/ var / www / html /中。我在/ home /%username%文件夹中部署了nodejs文件并访问了.js。此时源代码不可见,路由器按预期抛出404错误页面。 (在/ home /%username%中部署之前删除了public_html中的文件)
- 索引页路由器未按预期工作。路由器收到'/index.html.var'而非'/'或'/ index',而不是索引页面(/)。
请指导我在共享主机上安全地部署nodejs app。
回答如下:呃,不,Node.js不同,它不是PHP。 Node.js中的程序就像C / C ++,Python或任何其他通用编程语言一样,它可以控制(可能)整个服务器,因此不能部署到共享主机上。
你现在需要一个便宜的VPS(虚拟专用服务器,云服务器),现在非常便宜,与共享主机相提并论。
首先,我建议Heroku,免费服务器:https://www.heroku
编程说明:Node.js是服务器端语言,它不像传统JS一样在浏览器中运行,除非使用Express.js或那种库创建Web服务器,否则不会通过URL访问它。
使用Express.js在public_html中为服务器静态文件提供服务的示例:
- 把你的server.js(或app.js,或者你放的任何东西)放在public_html之外,不要把你的Node.js代码放在那里。
- 例如,当您将
app.js
放在public_html
外面时,以这种方式提供静态文件:app.use('/static', express.static('public_html'))
- 从以
/static
开头的URL路径访问文件,或使用以下中间件用于在根URL路径上服务器静态文件:app.use('/', express.static('public_html'))
参考:http://expressjs/en/starter/static-files.html
在共享主机上部署nodejs文件
- 在PHP中,我曾经将文件放在public_html文件夹中。我为nodejs做了同样的事情,并使用“forever start app.js”启动了我的应用程序。路由器按预期工作,但我能够在浏览器中看到我的nodejs源代码,例如.js展示了app.js的源代码。
- 在一些教程中,他们将文件放在/ var / www / html /中并启动了应用程序。 public_html和/ var / www / html有什么区别?
- 我正在使用共享主机,所以我没有权限将文件放在/ var / www / html /中。我在/ home /%username%文件夹中部署了nodejs文件并访问了.js。此时源代码不可见,路由器按预期抛出404错误页面。 (在/ home /%username%中部署之前删除了public_html中的文件)
- 索引页路由器未按预期工作。路由器收到'/index.html.var'而非'/'或'/ index',而不是索引页面(/)。
请指导我在共享主机上安全地部署nodejs app。
回答如下:呃,不,Node.js不同,它不是PHP。 Node.js中的程序就像C / C ++,Python或任何其他通用编程语言一样,它可以控制(可能)整个服务器,因此不能部署到共享主机上。
你现在需要一个便宜的VPS(虚拟专用服务器,云服务器),现在非常便宜,与共享主机相提并论。
首先,我建议Heroku,免费服务器:https://www.heroku
编程说明:Node.js是服务器端语言,它不像传统JS一样在浏览器中运行,除非使用Express.js或那种库创建Web服务器,否则不会通过URL访问它。
使用Express.js在public_html中为服务器静态文件提供服务的示例:
- 把你的server.js(或app.js,或者你放的任何东西)放在public_html之外,不要把你的Node.js代码放在那里。
- 例如,当您将
app.js
放在public_html
外面时,以这种方式提供静态文件:app.use('/static', express.static('public_html'))
- 从以
/static
开头的URL路径访问文件,或使用以下中间件用于在根URL路径上服务器静态文件:app.use('/', express.static('public_html'))
参考:http://expressjs/en/starter/static-files.html