gpt4 book ai didi

javascript - 在共享主机上部署 nodejs 文件

转载 作者:行者123 更新时间:2023-11-29 23:06:02 27 4
gpt4 key购买 nike

  1. 在 PHP 中,我曾经将文件放在 public_html 文件夹中。我对 nodejs 做了同样的事情,并使用“永远启动 app.js”启动了我的应用程序。路由器按预期工作,但我可以在浏览器中看到我的 nodejs 源代码,例如http://example.com/app.js展示了app.js的源代码。

  2. 在一些教程中,他们将文件放在/var/www/html/中并启动应用程序。 public_html 和/var/www/html 有什么区别?

  3. 我使用的是共享主机,所以我无权将文件放在/var/www/html/中。我在/home/%username% 文件夹中部署了 nodejs 文件并访问了 http://example.com/app.js .这次源代码不可见,路由器按预期抛出 404 错误页面。 (在/home/%username 中部署之前删除了 public_html 中的文件)

  4. 索引页面路由器未按预期工作。路由器接收到索引页 (http://example.com/) 的“/index.html.var”,而不是“/”或“/index”。

请指导我在共享主机上安全地部署 nodejs 应用程序。

最佳答案

呃,不,Node.js 不同,它不是 PHP。 Node.js 中的程序就像 C/C++、Python 或任何其他通用编程语言一样,它可以控制(可能)整个服务器,因此不能部署到共享主机上。

你至少需要一个便宜的 VPS(虚拟专用服务器,云服务器),现在非常便宜,与共享主机相当。

首先,我建议使用 Heroku,免费服务器:https://www.heroku.com

编程注意事项:Node.js 是服务器端语言,它不像传统的 JS 那样在浏览器中运行,你不会通过 URL 访问它,除非你使用 Express.js 或那种库创建一个网络服务器。

在 public_html 中使用 Express.js 服务器静态文件的示例:

  • 将您的 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.com/en/starter/static-files.html

关于javascript - 在共享主机上部署 nodejs 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54759804/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com